SlideShare uma empresa Scribd logo
1 de 33
Baixar para ler offline
ASP.NET	
  on Mac,	
  Linux	
  and
the Open-­‐Source culture
Ricardo	
  Fiel
About	
  me
• Born	
  1978	
  in	
  Leiria
• Dad	
  of	
  one,	
  Lucas,	
  4yr	
  
• Started	
  programming	
  in	
  a	
  ZX	
  Spectrum
• Graduated	
  from	
  ISEL,	
  Lisbon	
  Polytechnic
• ~12	
  years	
  exp.	
  in	
  software	
  teams
• Community	
  evangelist	
  
• Noisy	
  guitar	
  player,	
  some	
  albums	
  out,	
  ~300	
  gigs
• Currently	
  CTO	
  @ RUPEAL	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
@theplastictoy
http://ricardofiel.com
ricardo.fiel@rupeal.com
Agenda
1. Evolution	
  and	
  why	
  open-­‐source	
  matters
2. Getting	
  up	
  and	
  running
3. Going	
  live
How	
  did	
  ASP.NET the	
  web	
  evolve?
This	
  used	
  to	
  be	
  simple!
Challenge	
  – Frontend
Challenge	
  – The	
  Server
Diversification
Our	
  story	
  – InvoiceXpress Architecture	
  +	
  Dev	
  Culture
Collaboration	
  (Microservices +	
  Devops)
Containers!!
So,	
  what’s	
  ASP.NET	
  open-­‐source?
64-­‐bit	
  JIT	
  +	
  SIMD
Garbage	
  Collector
Runtime	
  components Compilers
.NET	
  Compiler	
  Platform	
  (Roslyn)
Languages	
  innovation
.NET Framework 4.6 .NET Core 5
Fully-­‐featured	
  and	
  integrated	
  
.NET	
  libraries	
   and	
  runtime	
  for	
  Windows
Modular	
  and	
  optimized	
  
.NET	
  libraries	
   and	
  runtimes
Base	
  class	
  libraries
NuGet	
  packages
Libraries
.NET	
  on	
  Linux	
  and	
  OS	
  X
.NET	
  Core	
  +	
  CoreCLR
• .NET	
  Core:
• CoreFX (libraries)	
  +	
  CoreCLR (small,	
  optimized	
  runtime)
• Cross	
  platform:	
  Windows,	
  Linux,	
  Mac
• Side	
  by	
  side	
  installation,	
  no	
  shared	
  code
• Modular,	
  use	
  only	
  what	
  you	
  need
• Xcopy deployments
• CoreCLR:
• Runtime	
  implementation	
  for	
  .NET	
  Core
• Includes	
  RyuJIT,	
  .NET	
  GC,	
  native	
  interop,	
  etc…
• Everything	
  is	
  open-­‐source	
  on	
  GitHub
• EntityFramework 7	
  is	
  supported
Building	
  ASP.NET	
  on	
  a	
  Mac
Getting	
  up	
  and	
  running
https://github.com/aspnet/Home
• .NET	
  Core	
  already	
  
installed	
  as	
  part	
  of	
  
VS2015	
  RC
• Clone	
  repo	
  on	
  
GitHub	
  and	
  build	
  
from	
  source	
  
(advanced)
• Download	
  installer
• Use	
  Homebrew	
  
formula	
  on	
  GitHub
• Manual	
  install
• Download	
  &	
  install	
  
tar	
  file
• Create	
  VM	
  on	
  Azure	
  
Marketplace
• Use	
  Dockerfile	
  on	
  
Docker Hub
Editors	
  and	
  IDEs	
  – OmniSharp community	
  effort
Let’s	
  focus	
  on	
  Yeoman	
  +	
  VS	
  Code
Building	
  and	
  Running	
  – the	
  tools
• dnvm (.NET	
  Version	
  Manager)
• Run	
  multiple	
  versions	
  side	
  by	
  side
• Same	
  concepts	
  as	
  rvm and	
  rbenv for	
  Ruby
• dnu (.NET	
  Development	
  Utility)
• Build	
  and	
  publish
• Manage	
  dependencies
• dnx (.NET	
  Execution	
  Environment)
• Runs	
  web	
  and	
  console	
  apps	
  (non-­‐native)
• For	
  web,	
  on	
  a	
  Mac,	
  uses	
  kestrel	
  web	
  server
Demo	
  time!
Generating	
  an	
  app	
  with	
  yeoman	
  and	
  running	
  it
Building	
  and	
  Running	
  – the	
  tools	
  – RECAP!
• dnvm (.NET	
  Version	
  Manager)
• Run	
  multiple	
  versions	
  side	
  by	
  side
• Same	
  concepts	
  as	
  rvm and	
  rbenv for	
  Ruby
• dnu (.NET	
  Development	
  Utility)
• Build	
  and	
  publish
• Manage	
  dependencies
• dnx (.NET	
  Execution	
  Environment)
• Runs	
  web	
  and	
  console	
  apps	
  (non-­‐native)
• For	
  web,	
  on	
  a	
  Mac,	
  uses	
  kestrel	
  web	
  server
# make sure we’re on the latest
# engine
dnvm upgrade
# update dependencies
dnu restore
# build and run
dnx web
Anatomy	
  of	
  an	
  app
• Project.json
• Similar	
  to	
  node.js ‘package.json’
• Target	
  frameworks,	
  dependencies,	
  commands,	
  scripts
• A	
  DNX	
  app	
  is	
  basically	
  project.json and	
  a	
  startup.cs (or	
  other	
  name)	
  file
• Project.lock.json
• Similar	
  to	
  rails	
  	
  ‘Gemfile.lock’
• Contains	
  the	
  dependency	
  tree	
  generated	
  by	
  ‘dnx restore’
• Used	
  at	
  app	
  boot	
  time	
  
• Multiple	
  projects (aka	
  Solutions)
• global.json file
• More	
  info: http://docs.asp.net/en/latest/dnx/projects.html
Demo	
  time!
Deploying	
  to	
  Azure	
  Web	
  Apps	
  and	
  Linux	
  VMs
Last	
  words	
  and	
  testament
Choosing	
  the	
  right	
  .NET	
  for	
  You
• .NET	
  Framework
• Windows	
  only
• Fully	
  featured
• NOT	
  open	
  source
• .NET	
  Core
• CoreFX (libraries)	
  +	
  CoreCLR(small,	
  optimized	
  runtime)
• Cross	
  platform:	
  Windows,	
  Linux,	
  Mac
• Open	
  source
• Mono
• .NET	
  for	
  non-­‐Windows	
  platforms,	
  been	
  around	
  for	
  years
• Community-­‐driven,	
  supported	
  by	
  Xamarin
• Best	
  choice	
  for	
  mobile	
  apps,	
  BUT	
  not	
  ready	
  for	
  server/cloud	
  workloads
• Open-­‐source
• More	
  Info:	
  https://docs.asp.net/en/latest/getting-­‐started/choosing-­‐the-­‐right-­‐dotnet.html
• .NET	
  Core	
  apps	
  can	
  run	
  in	
  a	
  production	
  Linux	
  environment,	
  including	
  Docker
containers	
  (both	
  on-­‐prem and	
  in	
  the	
  cloud)
• Developers	
   can	
  edit,	
  compile	
  and	
  debug	
  their	
  .NET	
  code	
  on	
  Mac	
  OS	
  X	
  using	
  
Visual	
  Studio	
  Code	
  (or	
  their	
  favorite	
  editor).
• Apps	
  built	
  using	
  platform-­‐agnostic	
  features have	
  identical	
  behavior	
  on	
  
Windows	
  and	
  x-­‐platform
• .NET	
  Core	
  brings	
  along	
  existing	
  .NET	
  cloud	
  ecosystem	
  of	
  libraries	
  to	
  Linux
• Microsoft	
  will	
  support,	
  service	
  and	
  maintain	
  .NET	
  on	
  Linux	
  like	
  any	
  other	
  
Microsoft	
  product
Plan	
  of	
  Record	
  (Microsoft’s	
  Promise	
  @	
  RTM)
It	
  Will	
  Work!	
  J
Call	
  to	
  Action!
Download	
  .NET	
  Core	
  +	
  ASP.NET	
  5 (Linux	
  |	
  OS	
  X)
OS	
  X:	
  https://dotnet2015.blob.core.windows.net/binaries/PartsUnlimited-­‐demo-­‐app-­‐darwin.tar.gz
Linux:	
  https://dotnet2015.blob.core.windows.net/binaries/PartsUnlimited-­‐demo-­‐app-­‐linux.tar.gz
Download	
  Visual	
  Studio	
  Code (Windows	
  |	
  Linux	
  |	
  OS	
  X)
http://code.visualstudio.com
Download	
  Visual	
  Studio	
  2015	
  RC	
  Tools	
  for	
  Docker Preview
http://aka.ms/vslovesdocker
Evaluate	
  .NET	
  Core	
  on	
  Linux	
  via	
  the	
  Azure	
  VM	
  Gallery
http://azure.microsoft.com/en-­‐us/marketplace/
Check	
  out	
  the	
  .NET	
  Cross-­‐Platform	
  Tutorials
Create	
  Cross-­‐Platform	
  .NET	
  Apps
Learn	
  about	
  the	
  Parts	
  Unlimited Sample	
  App
https://github.com/Microsoft/PartsUnlimited
Get	
  involved	
  and	
  become	
  a	
  contributor	
  to	
  .NET	
  Core!
http://github.com/dotnet
Going	
  Deep
https://github.com/aspnet/Home/wiki/DNX-­‐structure
Visual	
  Studio	
  Code
runtimes node.js, ASP.Net	
  5
languages	
  -­‐ basic*
coloring,	
  brackets,	
  indent
CoffeeScript,	
  Python,	
  Ruby,	
  Jade,	
  Clojure,Java,	
  C++, R,	
  Go,	
  
makefile,	
  shell,	
  powershell,	
  bat,	
  XML,	
  Markdown,	
  ...
languages	
  -­‐ better
+ IntelliSense,	
  linting,	
  outline
JavaScript,	
  HTML,	
  CSS,	
  LESS,	
  SASS, JSON
languages	
  -­‐ best
+ find all	
  refs,	
  refactoring
C#,	
  TypeScript
source	
  control git
task	
  running gulp,	
  grunt ...
Calling	
  all	
  devs!	
  -­‐ December	
  10,	
  Lisbon
mergelisbon.com
@theplastictoy
http://ricardofiel.com
ricardo.fiel@rupeal.com
Thank You!

Mais conteúdo relacionado

Último

Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
Glass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesGlass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesPrabhanshu Chaturvedi
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdfKamal Acharya
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...Call Girls in Nagpur High Profile
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSISrknatarajan
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordAsst.prof M.Gokilavani
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingrknatarajan
 

Último (20)

Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
Glass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesGlass Ceramics: Processing and Properties
Glass Ceramics: Processing and Properties
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
 

Destaque

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Destaque (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

ASP.NET on Mac, Linux and the Open-Source culture

  • 1.
  • 2. ASP.NET  on Mac,  Linux  and the Open-­‐Source culture Ricardo  Fiel
  • 3. About  me • Born  1978  in  Leiria • Dad  of  one,  Lucas,  4yr   • Started  programming  in  a  ZX  Spectrum • Graduated  from  ISEL,  Lisbon  Polytechnic • ~12  years  exp.  in  software  teams • Community  evangelist   • Noisy  guitar  player,  some  albums  out,  ~300  gigs • Currently  CTO  @ RUPEAL                                 @theplastictoy http://ricardofiel.com ricardo.fiel@rupeal.com
  • 4.
  • 5. Agenda 1. Evolution  and  why  open-­‐source  matters 2. Getting  up  and  running 3. Going  live
  • 6. How  did  ASP.NET the  web  evolve?
  • 7.
  • 8. This  used  to  be  simple!
  • 12. Our  story  – InvoiceXpress Architecture  +  Dev  Culture
  • 15. So,  what’s  ASP.NET  open-­‐source?
  • 16. 64-­‐bit  JIT  +  SIMD Garbage  Collector Runtime  components Compilers .NET  Compiler  Platform  (Roslyn) Languages  innovation .NET Framework 4.6 .NET Core 5 Fully-­‐featured  and  integrated   .NET  libraries   and  runtime  for  Windows Modular  and  optimized   .NET  libraries   and  runtimes Base  class  libraries NuGet  packages Libraries .NET  on  Linux  and  OS  X
  • 17. .NET  Core  +  CoreCLR • .NET  Core: • CoreFX (libraries)  +  CoreCLR (small,  optimized  runtime) • Cross  platform:  Windows,  Linux,  Mac • Side  by  side  installation,  no  shared  code • Modular,  use  only  what  you  need • Xcopy deployments • CoreCLR: • Runtime  implementation  for  .NET  Core • Includes  RyuJIT,  .NET  GC,  native  interop,  etc… • Everything  is  open-­‐source  on  GitHub • EntityFramework 7  is  supported
  • 19. Getting  up  and  running https://github.com/aspnet/Home • .NET  Core  already   installed  as  part  of   VS2015  RC • Clone  repo  on   GitHub  and  build   from  source   (advanced) • Download  installer • Use  Homebrew   formula  on  GitHub • Manual  install • Download  &  install   tar  file • Create  VM  on  Azure   Marketplace • Use  Dockerfile  on   Docker Hub
  • 20. Editors  and  IDEs  – OmniSharp community  effort Let’s  focus  on  Yeoman  +  VS  Code
  • 21. Building  and  Running  – the  tools • dnvm (.NET  Version  Manager) • Run  multiple  versions  side  by  side • Same  concepts  as  rvm and  rbenv for  Ruby • dnu (.NET  Development  Utility) • Build  and  publish • Manage  dependencies • dnx (.NET  Execution  Environment) • Runs  web  and  console  apps  (non-­‐native) • For  web,  on  a  Mac,  uses  kestrel  web  server
  • 22. Demo  time! Generating  an  app  with  yeoman  and  running  it
  • 23. Building  and  Running  – the  tools  – RECAP! • dnvm (.NET  Version  Manager) • Run  multiple  versions  side  by  side • Same  concepts  as  rvm and  rbenv for  Ruby • dnu (.NET  Development  Utility) • Build  and  publish • Manage  dependencies • dnx (.NET  Execution  Environment) • Runs  web  and  console  apps  (non-­‐native) • For  web,  on  a  Mac,  uses  kestrel  web  server # make sure we’re on the latest # engine dnvm upgrade # update dependencies dnu restore # build and run dnx web
  • 24. Anatomy  of  an  app • Project.json • Similar  to  node.js ‘package.json’ • Target  frameworks,  dependencies,  commands,  scripts • A  DNX  app  is  basically  project.json and  a  startup.cs (or  other  name)  file • Project.lock.json • Similar  to  rails    ‘Gemfile.lock’ • Contains  the  dependency  tree  generated  by  ‘dnx restore’ • Used  at  app  boot  time   • Multiple  projects (aka  Solutions) • global.json file • More  info: http://docs.asp.net/en/latest/dnx/projects.html
  • 25. Demo  time! Deploying  to  Azure  Web  Apps  and  Linux  VMs
  • 26. Last  words  and  testament
  • 27. Choosing  the  right  .NET  for  You • .NET  Framework • Windows  only • Fully  featured • NOT  open  source • .NET  Core • CoreFX (libraries)  +  CoreCLR(small,  optimized  runtime) • Cross  platform:  Windows,  Linux,  Mac • Open  source • Mono • .NET  for  non-­‐Windows  platforms,  been  around  for  years • Community-­‐driven,  supported  by  Xamarin • Best  choice  for  mobile  apps,  BUT  not  ready  for  server/cloud  workloads • Open-­‐source • More  Info:  https://docs.asp.net/en/latest/getting-­‐started/choosing-­‐the-­‐right-­‐dotnet.html
  • 28. • .NET  Core  apps  can  run  in  a  production  Linux  environment,  including  Docker containers  (both  on-­‐prem and  in  the  cloud) • Developers   can  edit,  compile  and  debug  their  .NET  code  on  Mac  OS  X  using   Visual  Studio  Code  (or  their  favorite  editor). • Apps  built  using  platform-­‐agnostic  features have  identical  behavior  on   Windows  and  x-­‐platform • .NET  Core  brings  along  existing  .NET  cloud  ecosystem  of  libraries  to  Linux • Microsoft  will  support,  service  and  maintain  .NET  on  Linux  like  any  other   Microsoft  product Plan  of  Record  (Microsoft’s  Promise  @  RTM) It  Will  Work!  J
  • 29. Call  to  Action! Download  .NET  Core  +  ASP.NET  5 (Linux  |  OS  X) OS  X:  https://dotnet2015.blob.core.windows.net/binaries/PartsUnlimited-­‐demo-­‐app-­‐darwin.tar.gz Linux:  https://dotnet2015.blob.core.windows.net/binaries/PartsUnlimited-­‐demo-­‐app-­‐linux.tar.gz Download  Visual  Studio  Code (Windows  |  Linux  |  OS  X) http://code.visualstudio.com Download  Visual  Studio  2015  RC  Tools  for  Docker Preview http://aka.ms/vslovesdocker Evaluate  .NET  Core  on  Linux  via  the  Azure  VM  Gallery http://azure.microsoft.com/en-­‐us/marketplace/ Check  out  the  .NET  Cross-­‐Platform  Tutorials Create  Cross-­‐Platform  .NET  Apps Learn  about  the  Parts  Unlimited Sample  App https://github.com/Microsoft/PartsUnlimited Get  involved  and  become  a  contributor  to  .NET  Core! http://github.com/dotnet
  • 31. Visual  Studio  Code runtimes node.js, ASP.Net  5 languages  -­‐ basic* coloring,  brackets,  indent CoffeeScript,  Python,  Ruby,  Jade,  Clojure,Java,  C++, R,  Go,   makefile,  shell,  powershell,  bat,  XML,  Markdown,  ... languages  -­‐ better + IntelliSense,  linting,  outline JavaScript,  HTML,  CSS,  LESS,  SASS, JSON languages  -­‐ best + find all  refs,  refactoring C#,  TypeScript source  control git task  running gulp,  grunt ...
  • 32. Calling  all  devs!  -­‐ December  10,  Lisbon mergelisbon.com