SlideShare una empresa de Scribd logo
1 de 50
ASP.NET Core: The
best of the new bits
Ken Cenerelli
About Me
Twitter: @KenCenerelli
Email: Ken_Cenerelli@Outlook.com
Blog: kencenerelli.wordpress.com
LinkedIn: linkedin.com/in/kencenerelli
Bio:
 Programmer Writer / Content Developer
 Microsoft MVP - Visual Studio and
Development Technologies
 Microsoft TechNet Wiki Guru
 Co-Organizer of CTTDNUG
 Technical reviewer of multiple books
CTTDNUG
Ken Cenerelli
.NET Core
First things first…
.NET 2016 – 10K foot view
Next gen JIT (RyuJIT)
SIMD
Runtime
Components Compilers
.NET Compiler Platform (Roslyn)
Languages innovation
.NET Core 1.0 Libraries
.NET Framework 4.6 Libraries
NuGet packages
.NET Framework 4.6 .NET Core 1.0
Full .NET Framework for any scenario and
library support on Windows
Modular libraries & runtime optimized for
server and cloud workloads
About .NET Core
• .NET Core is a subset of the .NET Framework
• Many .NET Framework components are not in .NET Core
• .NET Core is completely modularized. Each component is
distributed via NuGet
• Apps can be updated independently and do not rely on major
framework releases
• Deployment package includes everything needed to run
• .NET Core will run on Linux, Windows, and OSX
5
Two parts of .NET Core
•Runtime/Libraries:
• CLR, libraries, compilers, etc.
• Won’t change before RTM
•Tooling:
• Supports .NET Core and ASP.NET Core, including the new
command line tools and bits that plug into Visual Studio
& Visual Studio Code
• Will change before RTM
6
Differences
7
Feature .NET Framework .NET Core
Library Installation Centralised Distributed with each app
Updates
One big update. You better get
your app ready
Updates to framework are
independent of app.
Update NuGet packages
when you are ready
Platforms Windows is the only one for me
I love everyone!
Windows, OSX, Linux
Base Class Library
All the things! You get the entire
BCL
All the things!
You get the entire BCL
Credit: https://gooroo.io/GoorooTHINK/Article/16732/Introduction-to-NET-Core/22177
8
Credit: opensource.com
Strange Times…
9
Visual Studio 2015 and ASP.NET Core:
Support for npm, bower, gulp, grunt, etc.
npm bower grunt gulp
Responsive and plug-in free
http://bradfrost.com/blog/post/this-is-the-web/
Responsive and plug-in free
http://bradfrost.com/blog/post/this-is-the-web/
Responsive and plug-in free
http://bradfrost.com/blog/post/this-is-the-web/
ASP.NET Core
What about ASP.NET 5?
• ASP.NET Core 1.0 was previously called ASP.NET 5
• It was renamed in January 2016
• You may still see it referred to as ASP.NET 5 in Visual
Studio and in some docs
• Was updated in latest ASP.NET Core Release Candidate 2
ASP.NET 4.6 and ASP.NET Core 1.0
ASP.NET Core 1.0 Roadmap
https://github.com/aspnet/home/wiki/roadmap
Milestone Release week
Beta6 27 Jul 2015
Beta7 2 Sep 2015
Beta8 15 Oct 2015
RC1 Nov 2015
RC2 mid-May 2016
1.0.0 late-June 2016
.NET 2016 – 10K foot view
Next gen JIT (RyuJIT)
SIMD
Runtime
Components Compilers
.NET Compiler Platform (Roslyn)
Languages innovation
.NET Core 1.0 Libraries
.NET Framework 4.6 Libraries
NuGet packages
.NET Framework 4.6 .NET Core 1.0
Full .NET Framework for any scenario and
library support on Windows
Modular libraries & runtime optimized for
server and cloud workloads
ASP.NET 2016 in a Nutshell
.NET Framework 4.6 .NET Core 1.0
Full .NET Framework for any scenario and
library support on Windows
Modular libraries & runtime optimized for
server and cloud workloads
ASP.NET Core 1.0 – Key Values
Choose your Editors
and Tools
Open Source
with Contributions Cross-PlatformOSS
Seamless transition
from on-premises to cloud
Faster Development CycleTotally Modular
Fast
ASP.NET Core ~ What is it?
21
• ASP.NET Core 1.0 is a console app
• In RC1, an ASP.NET application was a class library that contained a
Startup.cs class
• As of RC2, an ASP.NET Core application is a .NET Core Console application
that calls into ASP.NET specific libraries
• So code that used to live in the ASP.NET Hosting libraries and
automatically runs your Startup.cs now lives inside a Program.cs
ASP.NET Core ~ The features
• Hosting
• Kestrel, Startup
• Middleware
• Routing, authentication, static files, diagnostics, error
handling, session, CORS, localization, custom
• Dependency Injection
• Configuration
• Logging
• Identity
22
ASP.NET Core ~ Which editors & IDEs?
•Visual Studio 2015 Update 2 including Community
•Visual Studio Code with C# extension
•An OmniSharp-enabled editor:
23
• Atom • Emacs
• Brackets • Sublime Text
• Yeoman • Vim
ASP.NET Core ~ What can you do?
•ASP.NET
• MVC Web Apps in C#
• Web API apps
• Console apps
• .NET Core compatible class library
•Signal R and Web Pages are coming after RTM
24
ASP.NET Core MVC
•One set of concepts – remove duplication
•Web UI and Web APIs
•Built on ASP.NET Core
•Supports .NET Core
•Runs on IIS or self-hosted
•Deep integration with DI
26
OWIN (Open Web Interface for .NET)
• OWIN in an open, community owned specification
• OWIN defines pluggable middleware and hosting
• ASP.NET 4.5 and ASP.NET Core 1.0 both support OWIN
Deployment portability
•Two main models:
• Portable Apps
• Self-contained Apps
28
Portable Apps
•Default application type in .NET Core
•Require .NET Core to be installed on the target
machine
•Your application is portable between installations of
.NET Core
•No need to decide upfront which OSes your app will
run on
29
Self-contained Apps
•All app dependencies, including the .NET Core
runtime, is part of the application
•The app is larger, but also capable of running on any
.NET Core supported platforms with the correct
native dependencies
•Need to make an explicit choice which platforms
your application needs to run on during dev
30
Setting Portability
• Portable: • Self Contained:
• Target .NET Core libraries
in project.json
• Remove any "type":
"platform" properties
• Add a runtimes node in
your project.json
• •
31
Tooling Changes
What’s new in ASP.NET Core RC2?
•.NET CLI (SDK) and IDE updates
•Tag Helpers
•IIS support baked in
•Host RC2 apps in Azure App Service
•Docker support with a new version of Docker Tools
for Visual Studio 2015
33
ASP.NET Core SDK
34
•The .NET Core SDK includes enough software to
build an app
•The SDK gives you both the .NET Core Tools and a
copy of .NET Core
•https://www.microsoft.com/net/core#windows
Demo
ASP.NET Core 1.0 from the SDK
ASP.NET Core IDE
•The best way to develop with .NET Core on Windows
is to download the Visual Studio official MSI Installer
and the latest NuGet Manager extension for Visual
Studio
•https://www.microsoft.com/net/core#windows
36
Demo
ASP.NET Core 1.0 from the IDE
TagHelpers: Evolution of HTML Forms
• HTML helpers expressed as tags
Ex. Instead of:
@Html.LabelFor(m => m.UserName, new { @class = "col-md-2 control-label" })
Write this:
<label asp-for="UserName" class="col-md-2 control-label"></label>
• Easier to customize with more attributes
• Work seamlessly with the HTML editor
• Markup now looks like HTML and it comes with full
IntelliSense
TagHelpers
Demo
TagHelpers
What about Entity Framework?
•EF6.x most current and runs on .NET Framework 4.6
•Entity Framework 7 renamed to Entity Framework
Core 1.0
•EF Core is a new code base that does not inherit all
the features and API surface of EF6.x
•EF6.x will continue to be a supported for some time
41
When to use EF Core?
•EF6.x will still be the most suitable choice for most
applications
•EF Core recommended for:
• New applications that do not need features that are not
yet implemented in EF Core
• Applications that target .NET Core, such as Universal
Windows Platform (UWP) and ASP.NET Core apps
42
Web APIs
In ASP.NET 4.6 – Separate Stack
In ASP.NET Core:
API services are an ASP.NET Core feature
Microsoft /web®
Sample Read-only Model and Controller
Microsoft /web®
Read-only Controller Actions to return data
Routing a Web API
Resources
Feedback and questions
http://asp.net
http://get.asp.net
http://docs.asp.net
http://aka.ms/webcamps-training-kit
ASP.NET Core: The best of the new bits

Más contenido relacionado

La actualidad más candente

ASP.NET MVC Presentation
ASP.NET MVC PresentationASP.NET MVC Presentation
ASP.NET MVC Presentationivpol
 
ASP.NET Core MVC + Web API with Overview
ASP.NET Core MVC + Web API with OverviewASP.NET Core MVC + Web API with Overview
ASP.NET Core MVC + Web API with OverviewShahed Chowdhuri
 
Dotnet Frameworks Version History
Dotnet Frameworks Version HistoryDotnet Frameworks Version History
Dotnet Frameworks Version Historyvoltaincx
 
.NET Core, ASP.NET Core Course, Session 6
.NET Core, ASP.NET Core Course, Session 6.NET Core, ASP.NET Core Course, Session 6
.NET Core, ASP.NET Core Course, Session 6aminmesbahi
 
.Net platform .Net core fundamentals
.Net platform .Net core  fundamentals.Net platform .Net core  fundamentals
.Net platform .Net core fundamentalsHosein Mansouri
 
Introduction to the Web API
Introduction to the Web APIIntroduction to the Web API
Introduction to the Web APIBrad Genereaux
 
Intro to vue.js
Intro to vue.jsIntro to vue.js
Intro to vue.jsTechMagic
 
Automation Testing using Selenium
Automation Testing using SeleniumAutomation Testing using Selenium
Automation Testing using SeleniumNaresh Chintalcheru
 
Asp.Net Core MVC , Razor page , Entity Framework Core
Asp.Net Core MVC , Razor page , Entity Framework CoreAsp.Net Core MVC , Razor page , Entity Framework Core
Asp.Net Core MVC , Razor page , Entity Framework Coremohamed elshafey
 
Introduction to angular with a simple but complete project
Introduction to angular with a simple but complete projectIntroduction to angular with a simple but complete project
Introduction to angular with a simple but complete projectJadson Santos
 

La actualidad más candente (20)

ASP.NET MVC Presentation
ASP.NET MVC PresentationASP.NET MVC Presentation
ASP.NET MVC Presentation
 
ASP.NET Core MVC + Web API with Overview
ASP.NET Core MVC + Web API with OverviewASP.NET Core MVC + Web API with Overview
ASP.NET Core MVC + Web API with Overview
 
Dot Net Core
Dot Net CoreDot Net Core
Dot Net Core
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
Servlets
ServletsServlets
Servlets
 
Dotnet Frameworks Version History
Dotnet Frameworks Version HistoryDotnet Frameworks Version History
Dotnet Frameworks Version History
 
Nodejs presentation
Nodejs presentationNodejs presentation
Nodejs presentation
 
Java Servlets
Java ServletsJava Servlets
Java Servlets
 
Web api
Web apiWeb api
Web api
 
.NET Core, ASP.NET Core Course, Session 6
.NET Core, ASP.NET Core Course, Session 6.NET Core, ASP.NET Core Course, Session 6
.NET Core, ASP.NET Core Course, Session 6
 
.Net platform .Net core fundamentals
.Net platform .Net core  fundamentals.Net platform .Net core  fundamentals
.Net platform .Net core fundamentals
 
Express js
Express jsExpress js
Express js
 
Introduction to the Web API
Introduction to the Web APIIntroduction to the Web API
Introduction to the Web API
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Net core
Net coreNet core
Net core
 
Intro to vue.js
Intro to vue.jsIntro to vue.js
Intro to vue.js
 
Automation Testing using Selenium
Automation Testing using SeleniumAutomation Testing using Selenium
Automation Testing using Selenium
 
Node js introduction
Node js introductionNode js introduction
Node js introduction
 
Asp.Net Core MVC , Razor page , Entity Framework Core
Asp.Net Core MVC , Razor page , Entity Framework CoreAsp.Net Core MVC , Razor page , Entity Framework Core
Asp.Net Core MVC , Razor page , Entity Framework Core
 
Introduction to angular with a simple but complete project
Introduction to angular with a simple but complete projectIntroduction to angular with a simple but complete project
Introduction to angular with a simple but complete project
 

Destacado

Getting Started with ASP.net Core 1.0
Getting Started with ASP.net Core 1.0Getting Started with ASP.net Core 1.0
Getting Started with ASP.net Core 1.0joescars
 
ASP.NET Core 1.0 Overview: Post-RC2
ASP.NET Core 1.0 Overview: Post-RC2ASP.NET Core 1.0 Overview: Post-RC2
ASP.NET Core 1.0 Overview: Post-RC2Shahed Chowdhuri
 
Dia 01 - Workshop ASP.NET CORE 1.1
Dia 01 - Workshop ASP.NET CORE 1.1Dia 01 - Workshop ASP.NET CORE 1.1
Dia 01 - Workshop ASP.NET CORE 1.1Rodrigo Kono
 
Netcore - Emergic MailArray - Email Archiving & Compliance Solution
Netcore - Emergic MailArray - Email Archiving & Compliance SolutionNetcore - Emergic MailArray - Email Archiving & Compliance Solution
Netcore - Emergic MailArray - Email Archiving & Compliance SolutionNetcore Solutions
 
Cross Platform Web Applications Using ASP.NET Core 1.0
Cross Platform Web Applications Using ASP.NET Core 1.0Cross Platform Web Applications Using ASP.NET Core 1.0
Cross Platform Web Applications Using ASP.NET Core 1.0Lohith Goudagere Nagaraj
 
Prototípus-fejlesztés 3D nyomtatással (Balássy György és Takács Péter)
Prototípus-fejlesztés 3D nyomtatással (Balássy György és Takács Péter)Prototípus-fejlesztés 3D nyomtatással (Balássy György és Takács Péter)
Prototípus-fejlesztés 3D nyomtatással (Balássy György és Takács Péter)György Balássy
 
Enterprise Developer Meetup bevezető (2015.01.28.)
Enterprise Developer Meetup bevezető (2015.01.28.)Enterprise Developer Meetup bevezető (2015.01.28.)
Enterprise Developer Meetup bevezető (2015.01.28.)György Balássy
 
XXI. századi szoftverfejlesztés
XXI. századi szoftverfejlesztésXXI. századi szoftverfejlesztés
XXI. századi szoftverfejlesztésGyörgy Balássy
 
Windows a dobozban, avagy IoT fejlesztés C#-ban
Windows a dobozban, avagy IoT fejlesztés C#-banWindows a dobozban, avagy IoT fejlesztés C#-ban
Windows a dobozban, avagy IoT fejlesztés C#-banGyörgy Balássy
 
TypeScript: Tényleg ez lenne a fájdalommentes JavaScript?
TypeScript: Tényleg ez lenne a fájdalommentes JavaScript?TypeScript: Tényleg ez lenne a fájdalommentes JavaScript?
TypeScript: Tényleg ez lenne a fájdalommentes JavaScript?György Balássy
 
IIS 7.5 webszerver újdonságok
IIS 7.5 webszerver újdonságokIIS 7.5 webszerver újdonságok
IIS 7.5 webszerver újdonságokGyörgy Balássy
 
A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai
A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalataiA mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai
A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalataiGyörgy Balássy
 
The Craftsman Developer In An Agile World
The Craftsman Developer In An Agile WorldThe Craftsman Developer In An Agile World
The Craftsman Developer In An Agile WorldOpenAgile Romania
 
Times Ten in-memory database when time counts - Laszlo Ludas
Times Ten in-memory database when time counts - Laszlo LudasTimes Ten in-memory database when time counts - Laszlo Ludas
Times Ten in-memory database when time counts - Laszlo LudasORACLE USER GROUP ESTONIA
 

Destacado (20)

ASP.NET Core 1.0 Overview
ASP.NET Core 1.0 OverviewASP.NET Core 1.0 Overview
ASP.NET Core 1.0 Overview
 
Getting Started with ASP.net Core 1.0
Getting Started with ASP.net Core 1.0Getting Started with ASP.net Core 1.0
Getting Started with ASP.net Core 1.0
 
ASP.NET Core 1.0 Overview: Post-RC2
ASP.NET Core 1.0 Overview: Post-RC2ASP.NET Core 1.0 Overview: Post-RC2
ASP.NET Core 1.0 Overview: Post-RC2
 
Dia 01 - Workshop ASP.NET CORE 1.1
Dia 01 - Workshop ASP.NET CORE 1.1Dia 01 - Workshop ASP.NET CORE 1.1
Dia 01 - Workshop ASP.NET CORE 1.1
 
Netcore - Emergic MailArray - Email Archiving & Compliance Solution
Netcore - Emergic MailArray - Email Archiving & Compliance SolutionNetcore - Emergic MailArray - Email Archiving & Compliance Solution
Netcore - Emergic MailArray - Email Archiving & Compliance Solution
 
ecm
ecmecm
ecm
 
hostedexchange
hostedexchangehostedexchange
hostedexchange
 
Cross Platform Web Applications Using ASP.NET Core 1.0
Cross Platform Web Applications Using ASP.NET Core 1.0Cross Platform Web Applications Using ASP.NET Core 1.0
Cross Platform Web Applications Using ASP.NET Core 1.0
 
Ais powerpoint (1)
Ais powerpoint (1)Ais powerpoint (1)
Ais powerpoint (1)
 
Prototípus-fejlesztés 3D nyomtatással (Balássy György és Takács Péter)
Prototípus-fejlesztés 3D nyomtatással (Balássy György és Takács Péter)Prototípus-fejlesztés 3D nyomtatással (Balássy György és Takács Péter)
Prototípus-fejlesztés 3D nyomtatással (Balássy György és Takács Péter)
 
Enterprise Developer Meetup bevezető (2015.01.28.)
Enterprise Developer Meetup bevezető (2015.01.28.)Enterprise Developer Meetup bevezető (2015.01.28.)
Enterprise Developer Meetup bevezető (2015.01.28.)
 
XXI. századi szoftverfejlesztés
XXI. századi szoftverfejlesztésXXI. századi szoftverfejlesztés
XXI. századi szoftverfejlesztés
 
Windows a dobozban, avagy IoT fejlesztés C#-ban
Windows a dobozban, avagy IoT fejlesztés C#-banWindows a dobozban, avagy IoT fejlesztés C#-ban
Windows a dobozban, avagy IoT fejlesztés C#-ban
 
TypeScript: Tényleg ez lenne a fájdalommentes JavaScript?
TypeScript: Tényleg ez lenne a fájdalommentes JavaScript?TypeScript: Tényleg ez lenne a fájdalommentes JavaScript?
TypeScript: Tényleg ez lenne a fájdalommentes JavaScript?
 
IIS 7.5 webszerver újdonságok
IIS 7.5 webszerver újdonságokIIS 7.5 webszerver újdonságok
IIS 7.5 webszerver újdonságok
 
.NET Core 1.0
.NET Core 1.0.NET Core 1.0
.NET Core 1.0
 
A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai
A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalataiA mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai
A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai
 
The Craftsman Developer In An Agile World
The Craftsman Developer In An Agile WorldThe Craftsman Developer In An Agile World
The Craftsman Developer In An Agile World
 
Times Ten in-memory database when time counts - Laszlo Ludas
Times Ten in-memory database when time counts - Laszlo LudasTimes Ten in-memory database when time counts - Laszlo Ludas
Times Ten in-memory database when time counts - Laszlo Ludas
 
Learning d3
Learning d3Learning d3
Learning d3
 

Similar a ASP.NET Core: The best of the new bits

.NET framework vs .net core 3.1 commons &amp; differences
 .NET framework vs .net core 3.1  commons &amp; differences .NET framework vs .net core 3.1  commons &amp; differences
.NET framework vs .net core 3.1 commons &amp; differencesAlina Vilk
 
.Net: Introduction, trends and future
.Net: Introduction, trends and future.Net: Introduction, trends and future
.Net: Introduction, trends and futureBishnu Rawal
 
Raffaele Rialdi
Raffaele RialdiRaffaele Rialdi
Raffaele RialdiCodeFest
 
AWS Summit Auckland - Moving MS .NET Applications One Container at a Time
AWS Summit Auckland - Moving MS .NET Applications One Container at a TimeAWS Summit Auckland - Moving MS .NET Applications One Container at a Time
AWS Summit Auckland - Moving MS .NET Applications One Container at a TimeAmazon Web Services
 
Visual studio 2015 and .net core 5 – get ready to rumble
Visual studio 2015 and .net core 5  – get ready to rumbleVisual studio 2015 and .net core 5  – get ready to rumble
Visual studio 2015 and .net core 5 – get ready to rumbleTadeusz Balcer
 
Introduction to .NET Core & ASP.NET Core MVC
Introduction to .NET Core & ASP.NET Core MVCIntroduction to .NET Core & ASP.NET Core MVC
Introduction to .NET Core & ASP.NET Core MVCSaineshwar bageri
 
Moving microsoft .net applications one container at a time
 Moving microsoft .net applications one container at a time  Moving microsoft .net applications one container at a time
Moving microsoft .net applications one container at a time Amazon Web Services
 
.NET Core, ASP.NET Core Course, Session 1
.NET Core, ASP.NET Core Course, Session 1.NET Core, ASP.NET Core Course, Session 1
.NET Core, ASP.NET Core Course, Session 1aminmesbahi
 
Porting Projects to .NET 5
Porting Projects to .NET 5Porting Projects to .NET 5
Porting Projects to .NET 5Immo Landwerth
 
Pottnet Meetup Essen - ASP.Net Core
Pottnet Meetup Essen - ASP.Net CorePottnet Meetup Essen - ASP.Net Core
Pottnet Meetup Essen - ASP.Net CoreMalte Lantin
 
Pottnet MeetUp Essen - ASP.Net Core
Pottnet MeetUp Essen - ASP.Net CorePottnet MeetUp Essen - ASP.Net Core
Pottnet MeetUp Essen - ASP.Net CoreMalte Lantin
 
1..Net Framework Architecture-(c#)
1..Net Framework Architecture-(c#)1..Net Framework Architecture-(c#)
1..Net Framework Architecture-(c#)Shoaib Ghachi
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development PipelineGlobalLogic Ukraine
 
NET core 2 e i fratelli
NET core 2 e i fratelliNET core 2 e i fratelli
NET core 2 e i fratelliAndrea Tosato
 
ASP.NET Core 1.0 Overview: Pre-RC2
ASP.NET Core 1.0 Overview: Pre-RC2ASP.NET Core 1.0 Overview: Pre-RC2
ASP.NET Core 1.0 Overview: Pre-RC2Shahed Chowdhuri
 
Deploy an Asp.Net Core App on Azure
Deploy an Asp.Net Core App on AzureDeploy an Asp.Net Core App on Azure
Deploy an Asp.Net Core App on AzureMichele Aponte
 
Deploy a Website in Azure using ARM Templates
Deploy a Website in Azure using ARM TemplatesDeploy a Website in Azure using ARM Templates
Deploy a Website in Azure using ARM TemplatesPratik Khasnabis
 
Academy PRO: .NET Core intro
Academy PRO: .NET Core introAcademy PRO: .NET Core intro
Academy PRO: .NET Core introBinary Studio
 
tutorials-visual-studio_visual-studio-2015-preview-comes-with-emulator-for-an...
tutorials-visual-studio_visual-studio-2015-preview-comes-with-emulator-for-an...tutorials-visual-studio_visual-studio-2015-preview-comes-with-emulator-for-an...
tutorials-visual-studio_visual-studio-2015-preview-comes-with-emulator-for-an...Anil Sharma
 

Similar a ASP.NET Core: The best of the new bits (20)

.NET framework vs .net core 3.1 commons &amp; differences
 .NET framework vs .net core 3.1  commons &amp; differences .NET framework vs .net core 3.1  commons &amp; differences
.NET framework vs .net core 3.1 commons &amp; differences
 
.Net: Introduction, trends and future
.Net: Introduction, trends and future.Net: Introduction, trends and future
.Net: Introduction, trends and future
 
Raffaele Rialdi
Raffaele RialdiRaffaele Rialdi
Raffaele Rialdi
 
AWS Summit Auckland - Moving MS .NET Applications One Container at a Time
AWS Summit Auckland - Moving MS .NET Applications One Container at a TimeAWS Summit Auckland - Moving MS .NET Applications One Container at a Time
AWS Summit Auckland - Moving MS .NET Applications One Container at a Time
 
Visual studio 2015 and .net core 5 – get ready to rumble
Visual studio 2015 and .net core 5  – get ready to rumbleVisual studio 2015 and .net core 5  – get ready to rumble
Visual studio 2015 and .net core 5 – get ready to rumble
 
Introduction to .NET Core & ASP.NET Core MVC
Introduction to .NET Core & ASP.NET Core MVCIntroduction to .NET Core & ASP.NET Core MVC
Introduction to .NET Core & ASP.NET Core MVC
 
Moving microsoft .net applications one container at a time
 Moving microsoft .net applications one container at a time  Moving microsoft .net applications one container at a time
Moving microsoft .net applications one container at a time
 
.NET Core, ASP.NET Core Course, Session 1
.NET Core, ASP.NET Core Course, Session 1.NET Core, ASP.NET Core Course, Session 1
.NET Core, ASP.NET Core Course, Session 1
 
Porting Projects to .NET 5
Porting Projects to .NET 5Porting Projects to .NET 5
Porting Projects to .NET 5
 
Pottnet Meetup Essen - ASP.Net Core
Pottnet Meetup Essen - ASP.Net CorePottnet Meetup Essen - ASP.Net Core
Pottnet Meetup Essen - ASP.Net Core
 
Pottnet MeetUp Essen - ASP.Net Core
Pottnet MeetUp Essen - ASP.Net CorePottnet MeetUp Essen - ASP.Net Core
Pottnet MeetUp Essen - ASP.Net Core
 
1..Net Framework Architecture-(c#)
1..Net Framework Architecture-(c#)1..Net Framework Architecture-(c#)
1..Net Framework Architecture-(c#)
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development Pipeline
 
NET core 2 e i fratelli
NET core 2 e i fratelliNET core 2 e i fratelli
NET core 2 e i fratelli
 
ASP.NET Core 1.0 Overview: Pre-RC2
ASP.NET Core 1.0 Overview: Pre-RC2ASP.NET Core 1.0 Overview: Pre-RC2
ASP.NET Core 1.0 Overview: Pre-RC2
 
Deploy an Asp.Net Core App on Azure
Deploy an Asp.Net Core App on AzureDeploy an Asp.Net Core App on Azure
Deploy an Asp.Net Core App on Azure
 
Deploy a Website in Azure using ARM Templates
Deploy a Website in Azure using ARM TemplatesDeploy a Website in Azure using ARM Templates
Deploy a Website in Azure using ARM Templates
 
Crack mcts.com
Crack mcts.comCrack mcts.com
Crack mcts.com
 
Academy PRO: .NET Core intro
Academy PRO: .NET Core introAcademy PRO: .NET Core intro
Academy PRO: .NET Core intro
 
tutorials-visual-studio_visual-studio-2015-preview-comes-with-emulator-for-an...
tutorials-visual-studio_visual-studio-2015-preview-comes-with-emulator-for-an...tutorials-visual-studio_visual-studio-2015-preview-comes-with-emulator-for-an...
tutorials-visual-studio_visual-studio-2015-preview-comes-with-emulator-for-an...
 

Más de Ken Cenerelli

ASP.NET Core deployment options
ASP.NET Core deployment optionsASP.NET Core deployment options
ASP.NET Core deployment optionsKen Cenerelli
 
No SQL, No Problem: Use Azure DocumentDB
No SQL, No Problem: Use Azure DocumentDBNo SQL, No Problem: Use Azure DocumentDB
No SQL, No Problem: Use Azure DocumentDBKen Cenerelli
 
Azure app service to create web and mobile apps
Azure app service to create web and mobile appsAzure app service to create web and mobile apps
Azure app service to create web and mobile appsKen Cenerelli
 
Analyze Your Code With Visual Studio 2015 Diagnostic Tools
Analyze Your Code With Visual Studio 2015 Diagnostic ToolsAnalyze Your Code With Visual Studio 2015 Diagnostic Tools
Analyze Your Code With Visual Studio 2015 Diagnostic ToolsKen Cenerelli
 
Building high performance software with Microsoft Application Insights
Building high performance software with Microsoft Application InsightsBuilding high performance software with Microsoft Application Insights
Building high performance software with Microsoft Application InsightsKen Cenerelli
 
An Introduction to Universal Windows Apps
An Introduction to Universal Windows AppsAn Introduction to Universal Windows Apps
An Introduction to Universal Windows Apps Ken Cenerelli
 
Build end-to-end video experiences with Azure Media Services
Build end-to-end video experiences with Azure Media ServicesBuild end-to-end video experiences with Azure Media Services
Build end-to-end video experiences with Azure Media ServicesKen Cenerelli
 
Cloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps with AzureCloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps with AzureKen Cenerelli
 
Building Windows 8.1 Apps with Mobile Services
Building Windows 8.1 Apps with Mobile ServicesBuilding Windows 8.1 Apps with Mobile Services
Building Windows 8.1 Apps with Mobile ServicesKen Cenerelli
 
Maximizing code reuse between Windows Phone 8 and Windows 8 (That Conference ...
Maximizing code reuse between Windows Phone 8 and Windows 8 (That Conference ...Maximizing code reuse between Windows Phone 8 and Windows 8 (That Conference ...
Maximizing code reuse between Windows Phone 8 and Windows 8 (That Conference ...Ken Cenerelli
 
Maximizing code reuse between Windows Phone 8 and Windows 8 (DevTeach Toronto...
Maximizing code reuse between Windows Phone 8 and Windows 8 (DevTeach Toronto...Maximizing code reuse between Windows Phone 8 and Windows 8 (DevTeach Toronto...
Maximizing code reuse between Windows Phone 8 and Windows 8 (DevTeach Toronto...Ken Cenerelli
 
An Introduction to Windows Phone 7 Development
An Introduction to Windows Phone 7 DevelopmentAn Introduction to Windows Phone 7 Development
An Introduction to Windows Phone 7 DevelopmentKen Cenerelli
 
Introduction To Umbraco
Introduction To UmbracoIntroduction To Umbraco
Introduction To UmbracoKen Cenerelli
 

Más de Ken Cenerelli (14)

ASP.NET Core deployment options
ASP.NET Core deployment optionsASP.NET Core deployment options
ASP.NET Core deployment options
 
No SQL, No Problem: Use Azure DocumentDB
No SQL, No Problem: Use Azure DocumentDBNo SQL, No Problem: Use Azure DocumentDB
No SQL, No Problem: Use Azure DocumentDB
 
Azure app service to create web and mobile apps
Azure app service to create web and mobile appsAzure app service to create web and mobile apps
Azure app service to create web and mobile apps
 
Analyze Your Code With Visual Studio 2015 Diagnostic Tools
Analyze Your Code With Visual Studio 2015 Diagnostic ToolsAnalyze Your Code With Visual Studio 2015 Diagnostic Tools
Analyze Your Code With Visual Studio 2015 Diagnostic Tools
 
Azure Data Storage
Azure Data StorageAzure Data Storage
Azure Data Storage
 
Building high performance software with Microsoft Application Insights
Building high performance software with Microsoft Application InsightsBuilding high performance software with Microsoft Application Insights
Building high performance software with Microsoft Application Insights
 
An Introduction to Universal Windows Apps
An Introduction to Universal Windows AppsAn Introduction to Universal Windows Apps
An Introduction to Universal Windows Apps
 
Build end-to-end video experiences with Azure Media Services
Build end-to-end video experiences with Azure Media ServicesBuild end-to-end video experiences with Azure Media Services
Build end-to-end video experiences with Azure Media Services
 
Cloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps with AzureCloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps with Azure
 
Building Windows 8.1 Apps with Mobile Services
Building Windows 8.1 Apps with Mobile ServicesBuilding Windows 8.1 Apps with Mobile Services
Building Windows 8.1 Apps with Mobile Services
 
Maximizing code reuse between Windows Phone 8 and Windows 8 (That Conference ...
Maximizing code reuse between Windows Phone 8 and Windows 8 (That Conference ...Maximizing code reuse between Windows Phone 8 and Windows 8 (That Conference ...
Maximizing code reuse between Windows Phone 8 and Windows 8 (That Conference ...
 
Maximizing code reuse between Windows Phone 8 and Windows 8 (DevTeach Toronto...
Maximizing code reuse between Windows Phone 8 and Windows 8 (DevTeach Toronto...Maximizing code reuse between Windows Phone 8 and Windows 8 (DevTeach Toronto...
Maximizing code reuse between Windows Phone 8 and Windows 8 (DevTeach Toronto...
 
An Introduction to Windows Phone 7 Development
An Introduction to Windows Phone 7 DevelopmentAn Introduction to Windows Phone 7 Development
An Introduction to Windows Phone 7 Development
 
Introduction To Umbraco
Introduction To UmbracoIntroduction To Umbraco
Introduction To Umbraco
 

Último

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Último (20)

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

ASP.NET Core: The best of the new bits

  • 1. ASP.NET Core: The best of the new bits Ken Cenerelli
  • 2. About Me Twitter: @KenCenerelli Email: Ken_Cenerelli@Outlook.com Blog: kencenerelli.wordpress.com LinkedIn: linkedin.com/in/kencenerelli Bio:  Programmer Writer / Content Developer  Microsoft MVP - Visual Studio and Development Technologies  Microsoft TechNet Wiki Guru  Co-Organizer of CTTDNUG  Technical reviewer of multiple books CTTDNUG Ken Cenerelli
  • 4. .NET 2016 – 10K foot view Next gen JIT (RyuJIT) SIMD Runtime Components Compilers .NET Compiler Platform (Roslyn) Languages innovation .NET Core 1.0 Libraries .NET Framework 4.6 Libraries NuGet packages .NET Framework 4.6 .NET Core 1.0 Full .NET Framework for any scenario and library support on Windows Modular libraries & runtime optimized for server and cloud workloads
  • 5. About .NET Core • .NET Core is a subset of the .NET Framework • Many .NET Framework components are not in .NET Core • .NET Core is completely modularized. Each component is distributed via NuGet • Apps can be updated independently and do not rely on major framework releases • Deployment package includes everything needed to run • .NET Core will run on Linux, Windows, and OSX 5
  • 6. Two parts of .NET Core •Runtime/Libraries: • CLR, libraries, compilers, etc. • Won’t change before RTM •Tooling: • Supports .NET Core and ASP.NET Core, including the new command line tools and bits that plug into Visual Studio & Visual Studio Code • Will change before RTM 6
  • 7. Differences 7 Feature .NET Framework .NET Core Library Installation Centralised Distributed with each app Updates One big update. You better get your app ready Updates to framework are independent of app. Update NuGet packages when you are ready Platforms Windows is the only one for me I love everyone! Windows, OSX, Linux Base Class Library All the things! You get the entire BCL All the things! You get the entire BCL Credit: https://gooroo.io/GoorooTHINK/Article/16732/Introduction-to-NET-Core/22177
  • 10. Visual Studio 2015 and ASP.NET Core: Support for npm, bower, gulp, grunt, etc. npm bower grunt gulp
  • 11. Responsive and plug-in free http://bradfrost.com/blog/post/this-is-the-web/
  • 12. Responsive and plug-in free http://bradfrost.com/blog/post/this-is-the-web/
  • 13. Responsive and plug-in free http://bradfrost.com/blog/post/this-is-the-web/
  • 15. What about ASP.NET 5? • ASP.NET Core 1.0 was previously called ASP.NET 5 • It was renamed in January 2016 • You may still see it referred to as ASP.NET 5 in Visual Studio and in some docs • Was updated in latest ASP.NET Core Release Candidate 2
  • 16. ASP.NET 4.6 and ASP.NET Core 1.0
  • 17. ASP.NET Core 1.0 Roadmap https://github.com/aspnet/home/wiki/roadmap Milestone Release week Beta6 27 Jul 2015 Beta7 2 Sep 2015 Beta8 15 Oct 2015 RC1 Nov 2015 RC2 mid-May 2016 1.0.0 late-June 2016
  • 18. .NET 2016 – 10K foot view Next gen JIT (RyuJIT) SIMD Runtime Components Compilers .NET Compiler Platform (Roslyn) Languages innovation .NET Core 1.0 Libraries .NET Framework 4.6 Libraries NuGet packages .NET Framework 4.6 .NET Core 1.0 Full .NET Framework for any scenario and library support on Windows Modular libraries & runtime optimized for server and cloud workloads
  • 19. ASP.NET 2016 in a Nutshell .NET Framework 4.6 .NET Core 1.0 Full .NET Framework for any scenario and library support on Windows Modular libraries & runtime optimized for server and cloud workloads
  • 20. ASP.NET Core 1.0 – Key Values Choose your Editors and Tools Open Source with Contributions Cross-PlatformOSS Seamless transition from on-premises to cloud Faster Development CycleTotally Modular Fast
  • 21. ASP.NET Core ~ What is it? 21 • ASP.NET Core 1.0 is a console app • In RC1, an ASP.NET application was a class library that contained a Startup.cs class • As of RC2, an ASP.NET Core application is a .NET Core Console application that calls into ASP.NET specific libraries • So code that used to live in the ASP.NET Hosting libraries and automatically runs your Startup.cs now lives inside a Program.cs
  • 22. ASP.NET Core ~ The features • Hosting • Kestrel, Startup • Middleware • Routing, authentication, static files, diagnostics, error handling, session, CORS, localization, custom • Dependency Injection • Configuration • Logging • Identity 22
  • 23. ASP.NET Core ~ Which editors & IDEs? •Visual Studio 2015 Update 2 including Community •Visual Studio Code with C# extension •An OmniSharp-enabled editor: 23 • Atom • Emacs • Brackets • Sublime Text • Yeoman • Vim
  • 24. ASP.NET Core ~ What can you do? •ASP.NET • MVC Web Apps in C# • Web API apps • Console apps • .NET Core compatible class library •Signal R and Web Pages are coming after RTM 24
  • 25.
  • 26. ASP.NET Core MVC •One set of concepts – remove duplication •Web UI and Web APIs •Built on ASP.NET Core •Supports .NET Core •Runs on IIS or self-hosted •Deep integration with DI 26
  • 27. OWIN (Open Web Interface for .NET) • OWIN in an open, community owned specification • OWIN defines pluggable middleware and hosting • ASP.NET 4.5 and ASP.NET Core 1.0 both support OWIN
  • 28. Deployment portability •Two main models: • Portable Apps • Self-contained Apps 28
  • 29. Portable Apps •Default application type in .NET Core •Require .NET Core to be installed on the target machine •Your application is portable between installations of .NET Core •No need to decide upfront which OSes your app will run on 29
  • 30. Self-contained Apps •All app dependencies, including the .NET Core runtime, is part of the application •The app is larger, but also capable of running on any .NET Core supported platforms with the correct native dependencies •Need to make an explicit choice which platforms your application needs to run on during dev 30
  • 31. Setting Portability • Portable: • Self Contained: • Target .NET Core libraries in project.json • Remove any "type": "platform" properties • Add a runtimes node in your project.json • • 31
  • 33. What’s new in ASP.NET Core RC2? •.NET CLI (SDK) and IDE updates •Tag Helpers •IIS support baked in •Host RC2 apps in Azure App Service •Docker support with a new version of Docker Tools for Visual Studio 2015 33
  • 34. ASP.NET Core SDK 34 •The .NET Core SDK includes enough software to build an app •The SDK gives you both the .NET Core Tools and a copy of .NET Core •https://www.microsoft.com/net/core#windows
  • 35. Demo ASP.NET Core 1.0 from the SDK
  • 36. ASP.NET Core IDE •The best way to develop with .NET Core on Windows is to download the Visual Studio official MSI Installer and the latest NuGet Manager extension for Visual Studio •https://www.microsoft.com/net/core#windows 36
  • 37. Demo ASP.NET Core 1.0 from the IDE
  • 38. TagHelpers: Evolution of HTML Forms • HTML helpers expressed as tags Ex. Instead of: @Html.LabelFor(m => m.UserName, new { @class = "col-md-2 control-label" }) Write this: <label asp-for="UserName" class="col-md-2 control-label"></label> • Easier to customize with more attributes • Work seamlessly with the HTML editor • Markup now looks like HTML and it comes with full IntelliSense
  • 41. What about Entity Framework? •EF6.x most current and runs on .NET Framework 4.6 •Entity Framework 7 renamed to Entity Framework Core 1.0 •EF Core is a new code base that does not inherit all the features and API surface of EF6.x •EF6.x will continue to be a supported for some time 41
  • 42. When to use EF Core? •EF6.x will still be the most suitable choice for most applications •EF Core recommended for: • New applications that do not need features that are not yet implemented in EF Core • Applications that target .NET Core, such as Universal Windows Platform (UWP) and ASP.NET Core apps 42
  • 44. In ASP.NET 4.6 – Separate Stack
  • 45. In ASP.NET Core: API services are an ASP.NET Core feature
  • 46. Microsoft /web® Sample Read-only Model and Controller
  • 47. Microsoft /web® Read-only Controller Actions to return data

Notas del editor

  1. Session goals: Explain what will be covered for the day Explain four foundational topics everyone needs to be familiar with to get started Visual Studio 2015 ASP.NET Core (previously know as ASP.NET 5) Package Managers – what they are, how they fit in with ASP.NET Azure – easy to sign up, activate MSDN benefits
  2. NuGet is similar to Maven .NET Core RC2 is supported on the following platforms. Red Hat Enterprise Linux 7.2 Centos 7.1 Debian 8.2+ Ubuntu 14.04 (16.04 support is coming at RTM) Linux Mint 17+ OS X 10.11 Windows 7+ / Windows Server 2012 R2+ Windows Nano Server TP5
  3. - The .NET Foundation includes representatives from, among others, Microsoft, GitHub, and Xamarin.
  4. npm is the default package manager for the JavaScript runtime environment Node.js. Bower is a package management system for client-side programming. Grunt is a JavaScript Task Runner. Gulp is a JavaScript automation tool. If you are using VS 2015 and ASP.NET 5, Visual Studio will install npm and gulp for you automatically.
  5. Source: http://bradfrost.com/blog/post/this-is-the-web/ Images are under Creative Commons Attribution License
  6. Source: http://bradfrost.com/blog/post/this-is-the-web/
  7. Source: http://bradfrost.com/blog/post/this-is-the-web/
  8. Key message: Differentiate the purpose and scenarios between .NET Framework and .NET Core. They Key point on .NET Core is that it’s self-contained and specialized on specific workloads. Make sure that we make the point that BOTH are valid. There is no decrease in investment on the .NET Framework side. Transition. There is a common shared layer to these 2 pieces ASP.NET Core is a new open-source and cross-platform framework for building modern cloud-based Web applications using .NET. ASP.NET 4.6 is the more mature platform. It's battle-tested and released and available today.
  9. Totally Modular – opt into the files you want Faster Development Cycles – no more compilation needed, just save and refresh Cloud – Seamless to the cloud Cross Platform for Windows, OS, and Linux Tools – Cross platform editing with VS Code Open Source – Totally OSS and open for contributions Fast – One of the fastest frameworks on planet
  10. This alignment means that a single .NET toolchain can be used for both .NET Core Console applications and ASP.NET Core applications. It also means that customers have more obvious control over the code that hosts and runs their ASP.NET Core app.
  11. Kestrel is a managed web server Startup defines what you want in your pipeline Middleware is asynchronous; Can write your own DI is built-in but can use Auto-Fac or Ninject Configuration: No web.config; can read from other sources like JSON or XML Identity for OAuth
  12. OmniSharp is a family of Open Source projects, each with one goal: To enable a great .NET experience in YOUR editor of choice VSCode is also an OmniSharp enabled editor
  13. - Unified web stack
  14. This slide introduces these features at a high level. The demo for these features is included in the next section.
  15. Anything bolded is a tag helper Uses HTML attributes instead of C#
  16. 1. We’ve seen how ASP.NET provides a common core which supports several different toolsets. 2. [click for first animation] On the left side, we have tools which produce HTML, which will be viewed in browsers by people. 3. [click for second animation] On the right, we have Web API, which produces other formats which are consumed by machines (represented by this happy robot) – JSON, XML, and other custom formats which are read by JavaScript code, other programs, other servers, etc.