SlideShare a Scribd company logo
1 of 25
ASP.NET Core
Philosophies, Processes and Tools
Spencer Schneidenbach
Ryvit
@schneidenbach
About Me
• Platform Architect at Ryvit
• Consultant
• Web developer
• AngularJS 1/2, ASP.NET, C#
schneids.net
@schneidenbach
schneidenbach
sas.projects@me.com
ScalableOpen sourceCross-platform
ASP.NET Core Goals
ASP.NET Core in Production
• 1.0 is out!
• Latest version is available at dot.net
• Tooling for Visual Studio is still in preview
Let’s talk .NET Framework
• .NET Core – open source, lightweight subset of .NET Framework
• Needed components delivered via NuGet
• More iterative updates
• Deployed with your app
• Cross-platform
• .NET Framework
• You can still use full .NET Framework if you need stuff like System.Drawing or
other full-framework specific libraries
• Requires Windows
The times, they are a’changing’
ASP.NET Core Current ASP.NET
What’s The Same
• C#
• .NET Framework
What’s Different
• No VB.NET
• No Web Forms
• .NET Core
• Roslyn compiler
• Cross-platform
• Slightly different APIs
• No Web.config
• No Global.asax
• No dependency on MSBuild
Web Forms
• Web Forms isn’t a technology in ASP.NET Core
• It’s still being updated and supported
• Still needs System.Web
• Still needs IIS
• Still needs Visual Studio
Current MVC 5/Web API 2 Apps
• No direct upgrade path
• Create new project and copy over code
• APIs between the two differ slightly
• Otherwise, it’s a very familiar experience
ASP.NET Core Toolchain
• NPM/Node
• Bower
• Grunt/Gulp
• dotnet CLI
NPM/Node
• NPM stands for Node Package Manager
• Pretty much like Nuget
• Uses package.json
• Manages the packages your project needs
Bower
• Client-side package manager
• But guess what?
npm can take care of you
• Can install client side dependencies as well!
Grunt/Gulp
• Task runners
• Do stuff like:
• Minify CSS and JS
• Run tests
• Move files around
• But guess what?
npm can take care of you
• Can run tasks as well!
• If you like gulp, then use it!
dotnet command line interface
• Build and run your code
• Restores dependencies from project.json
Let’s go over the project structure
• wwwroot
• project.json
• Startup.cs
• Program.cs
• Models
• Controllers
• Views
wwwroot
• Where all static files go
• No longer mixed into the root of the project
• A welcome change!
project.json
• Replaces packages.config
• General project configuration
• Server-side dependencies
Startup.cs
• Where services are registered and the application is configured
Program.cs
• Unlike ASP.NET 4.6 apps, ASP.NET Core has a Main method!
Models
• Where your ViewModels and DTOs live
Controllers
• Controllers are your main interface with the outside world
• They are the traffic cops of your web app
Views
• Views are
returned from
controllers
• Can have a
layout view
(kinda like a
site.master)
Tooling demo

More Related Content

What's hot

North American Collaboration Summit 2018 - SharePoint Framework, Angular & Az...
North American Collaboration Summit 2018 - SharePoint Framework, Angular & Az...North American Collaboration Summit 2018 - SharePoint Framework, Angular & Az...
North American Collaboration Summit 2018 - SharePoint Framework, Angular & Az...
Sébastien Levert
 
Who needs containers in a serverless world
Who needs containers in a serverless worldWho needs containers in a serverless world
Who needs containers in a serverless world
Matthias Luebken
 

What's hot (20)

[DevDay 2017] Serverless Architecture - Speaker: Trung Huynh - Software Engin...
[DevDay 2017] Serverless Architecture - Speaker: Trung Huynh - Software Engin...[DevDay 2017] Serverless Architecture - Speaker: Trung Huynh - Software Engin...
[DevDay 2017] Serverless Architecture - Speaker: Trung Huynh - Software Engin...
 
Migration from ASP.NET MVC to ASP.NET Core
Migration from ASP.NET MVC to ASP.NET CoreMigration from ASP.NET MVC to ASP.NET Core
Migration from ASP.NET MVC to ASP.NET Core
 
[DevDay 2017] ReactJS Hands on - Speaker: Binh Phan - Developer at mgm techno...
[DevDay 2017] ReactJS Hands on - Speaker: Binh Phan - Developer at mgm techno...[DevDay 2017] ReactJS Hands on - Speaker: Binh Phan - Developer at mgm techno...
[DevDay 2017] ReactJS Hands on - Speaker: Binh Phan - Developer at mgm techno...
 
QuizUp Web Monorepo
QuizUp Web MonorepoQuizUp Web Monorepo
QuizUp Web Monorepo
 
Functional Programming in PHP
Functional Programming in PHPFunctional Programming in PHP
Functional Programming in PHP
 
Blazor - The New Silverlight?
Blazor - The New Silverlight?Blazor - The New Silverlight?
Blazor - The New Silverlight?
 
Porting ASP.NET applications to Windows Azure
Porting ASP.NET applications to Windows AzurePorting ASP.NET applications to Windows Azure
Porting ASP.NET applications to Windows Azure
 
North American Collaboration Summit 2018 - SharePoint Framework, Angular & Az...
North American Collaboration Summit 2018 - SharePoint Framework, Angular & Az...North American Collaboration Summit 2018 - SharePoint Framework, Angular & Az...
North American Collaboration Summit 2018 - SharePoint Framework, Angular & Az...
 
.Net Core 3.0. What’s inside? Павло Голубович
.Net Core 3.0. What’s inside? Павло Голубович.Net Core 3.0. What’s inside? Павло Голубович
.Net Core 3.0. What’s inside? Павло Голубович
 
Through Meteor to the stars - Developing full-stack SPA's with meteor.js
Through Meteor to the stars - Developing full-stack SPA's with meteor.jsThrough Meteor to the stars - Developing full-stack SPA's with meteor.js
Through Meteor to the stars - Developing full-stack SPA's with meteor.js
 
Jenkins JobDSL - Configuration as code
Jenkins JobDSL - Configuration as codeJenkins JobDSL - Configuration as code
Jenkins JobDSL - Configuration as code
 
Angular CLI : HelloWorld
Angular CLI : HelloWorldAngular CLI : HelloWorld
Angular CLI : HelloWorld
 
Professional tools and workflows for theme development
Professional tools and workflows for theme developmentProfessional tools and workflows for theme development
Professional tools and workflows for theme development
 
Metaprogramming Go
Metaprogramming GoMetaprogramming Go
Metaprogramming Go
 
Advantages of Rails Framework
Advantages of Rails FrameworkAdvantages of Rails Framework
Advantages of Rails Framework
 
RubyConf Taiwan 2016 - Large scale Rails applications
RubyConf Taiwan 2016 - Large scale Rails applicationsRubyConf Taiwan 2016 - Large scale Rails applications
RubyConf Taiwan 2016 - Large scale Rails applications
 
Who needs containers in a serverless world
Who needs containers in a serverless worldWho needs containers in a serverless world
Who needs containers in a serverless world
 
Node as an API shim
Node as an API shimNode as an API shim
Node as an API shim
 
Total cloud immersion
Total cloud immersionTotal cloud immersion
Total cloud immersion
 
SPSNL16 - Building Office 365 and SharePoint solutions using modern developer...
SPSNL16 - Building Office 365 and SharePoint solutions using modern developer...SPSNL16 - Building Office 365 and SharePoint solutions using modern developer...
SPSNL16 - Building Office 365 and SharePoint solutions using modern developer...
 

Similar to ASP.NET Core - Phillosophies, Processes and Tooling

MEAN Stack WeNode Barcelona Workshop
MEAN Stack WeNode Barcelona WorkshopMEAN Stack WeNode Barcelona Workshop
MEAN Stack WeNode Barcelona Workshop
Valeri Karpov
 

Similar to ASP.NET Core - Phillosophies, Processes and Tooling (20)

Get acquainted with the new ASP.Net 5
Get acquainted with the new ASP.Net 5Get acquainted with the new ASP.Net 5
Get acquainted with the new ASP.Net 5
 
.Net Core Fall update
.Net Core Fall update.Net Core Fall update
.Net Core Fall update
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development Pipeline
 
Developing Cross-Platform Web Apps with ASP.NET Core1.0
Developing Cross-Platform Web Apps with ASP.NET Core1.0Developing Cross-Platform Web Apps with ASP.NET Core1.0
Developing Cross-Platform Web Apps with ASP.NET Core1.0
 
MEAN Stack WeNode Barcelona Workshop
MEAN Stack WeNode Barcelona WorkshopMEAN Stack WeNode Barcelona Workshop
MEAN Stack WeNode Barcelona Workshop
 
Porting Projects to .NET 5
Porting Projects to .NET 5Porting Projects to .NET 5
Porting Projects to .NET 5
 
Modern .NET Ecosystem
Modern .NET EcosystemModern .NET Ecosystem
Modern .NET Ecosystem
 
Introducing ASP.NET vNext - A tour of the new ASP.NET platform
Introducing ASP.NET vNext - A tour of the new ASP.NET platformIntroducing ASP.NET vNext - A tour of the new ASP.NET platform
Introducing ASP.NET vNext - A tour of the new ASP.NET platform
 
Short-Training asp.net vNext
Short-Training asp.net vNextShort-Training asp.net vNext
Short-Training asp.net vNext
 
Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014
Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014
Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014
 
Using Grunt with Drupal
Using Grunt with DrupalUsing Grunt with Drupal
Using Grunt with Drupal
 
ASP.NET 5 - Microsoft's Web development platform reimagined
ASP.NET 5 - Microsoft's Web development platform reimaginedASP.NET 5 - Microsoft's Web development platform reimagined
ASP.NET 5 - Microsoft's Web development platform reimagined
 
Les nouveautés ASP.NET 5 avec Visual Studio 2015
Les nouveautés ASP.NET 5 avec Visual Studio 2015Les nouveautés ASP.NET 5 avec Visual Studio 2015
Les nouveautés ASP.NET 5 avec Visual Studio 2015
 
APIs distribuidos con alta escalabilidad
APIs distribuidos con alta escalabilidadAPIs distribuidos con alta escalabilidad
APIs distribuidos con alta escalabilidad
 
SGCE 2015 REST APIs
SGCE 2015 REST APIsSGCE 2015 REST APIs
SGCE 2015 REST APIs
 
Introduction to ASP.NET 5
Introduction to ASP.NET 5Introduction to ASP.NET 5
Introduction to ASP.NET 5
 
Hello world - intro to node js
Hello world - intro to node jsHello world - intro to node js
Hello world - intro to node js
 
Shift Remote: JS - Javascript Build Tools: Past & Beyond - Shedrack Akintayo
Shift Remote: JS - Javascript Build Tools: Past & Beyond - Shedrack Akintayo Shift Remote: JS - Javascript Build Tools: Past & Beyond - Shedrack Akintayo
Shift Remote: JS - Javascript Build Tools: Past & Beyond - Shedrack Akintayo
 
O365: Attack of the Clones
O365: Attack of the ClonesO365: Attack of the Clones
O365: Attack of the Clones
 
Net coreandsimplcommerce
Net coreandsimplcommerceNet coreandsimplcommerce
Net coreandsimplcommerce
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 

ASP.NET Core - Phillosophies, Processes and Tooling

  • 1. ASP.NET Core Philosophies, Processes and Tools Spencer Schneidenbach Ryvit @schneidenbach
  • 2. About Me • Platform Architect at Ryvit • Consultant • Web developer • AngularJS 1/2, ASP.NET, C# schneids.net @schneidenbach schneidenbach sas.projects@me.com
  • 4. ASP.NET Core in Production • 1.0 is out! • Latest version is available at dot.net • Tooling for Visual Studio is still in preview
  • 5. Let’s talk .NET Framework • .NET Core – open source, lightweight subset of .NET Framework • Needed components delivered via NuGet • More iterative updates • Deployed with your app • Cross-platform • .NET Framework • You can still use full .NET Framework if you need stuff like System.Drawing or other full-framework specific libraries • Requires Windows
  • 6. The times, they are a’changing’ ASP.NET Core Current ASP.NET What’s The Same • C# • .NET Framework What’s Different • No VB.NET • No Web Forms • .NET Core • Roslyn compiler • Cross-platform • Slightly different APIs • No Web.config • No Global.asax • No dependency on MSBuild
  • 7. Web Forms • Web Forms isn’t a technology in ASP.NET Core • It’s still being updated and supported • Still needs System.Web • Still needs IIS • Still needs Visual Studio
  • 8. Current MVC 5/Web API 2 Apps • No direct upgrade path • Create new project and copy over code • APIs between the two differ slightly • Otherwise, it’s a very familiar experience
  • 9. ASP.NET Core Toolchain • NPM/Node • Bower • Grunt/Gulp • dotnet CLI
  • 10. NPM/Node • NPM stands for Node Package Manager • Pretty much like Nuget • Uses package.json • Manages the packages your project needs
  • 11. Bower • Client-side package manager • But guess what?
  • 12. npm can take care of you • Can install client side dependencies as well!
  • 13. Grunt/Gulp • Task runners • Do stuff like: • Minify CSS and JS • Run tests • Move files around • But guess what?
  • 14. npm can take care of you • Can run tasks as well! • If you like gulp, then use it!
  • 15. dotnet command line interface • Build and run your code • Restores dependencies from project.json
  • 16. Let’s go over the project structure • wwwroot • project.json • Startup.cs • Program.cs • Models • Controllers • Views
  • 17. wwwroot • Where all static files go • No longer mixed into the root of the project • A welcome change!
  • 18. project.json • Replaces packages.config • General project configuration • Server-side dependencies
  • 19.
  • 20. Startup.cs • Where services are registered and the application is configured
  • 21. Program.cs • Unlike ASP.NET 4.6 apps, ASP.NET Core has a Main method!
  • 22. Models • Where your ViewModels and DTOs live
  • 23. Controllers • Controllers are your main interface with the outside world • They are the traffic cops of your web app
  • 24. Views • Views are returned from controllers • Can have a layout view (kinda like a site.master)

Editor's Notes

  1. Aims to be the best web stack for any platform Host agnostic Provide cross-platform development experience Faster, more scalable than current ASP.NET System.Web requests take ~30kb of memory per request ASP.NET Core – around ~2kb