SlideShare a Scribd company logo
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: The best of the new bits
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

More Related Content

PPTX
.Net Core
PDF
Introduction to ASP.NET Core
PPTX
PDF
Jenkins
PDF
Dot Net Core
PPTX
C sharp
.Net Core
Introduction to ASP.NET Core
Jenkins
Dot Net Core
C sharp

What's hot (20)

PPT
PDF
Asp.Net Core MVC , Razor page , Entity Framework Core
PDF
Modern Web Development
PPTX
Docker introduction (1)
PPTX
Node js Introduction
PPTX
Introduction to java
PPTX
Spring Framework
PDF
.NET Core, ASP.NET Core Course, Session 6
PPTX
What is component in reactjs
PPTX
PPTX
Introduction to Node.js
PPTX
Introduction to Docker - 2017
PPTX
Jenkins tutorial
PDF
Build beautiful native apps in record time with flutter
PPTX
Microsoft dot net framework
PPT
Maven Introduction
PPTX
Unit 1 - TypeScript & Introduction to Angular CLI.pptx
PPTX
Net core
PPTX
Java seminar
PDF
Gitlab ci-cd
Asp.Net Core MVC , Razor page , Entity Framework Core
Modern Web Development
Docker introduction (1)
Node js Introduction
Introduction to java
Spring Framework
.NET Core, ASP.NET Core Course, Session 6
What is component in reactjs
Introduction to Node.js
Introduction to Docker - 2017
Jenkins tutorial
Build beautiful native apps in record time with flutter
Microsoft dot net framework
Maven Introduction
Unit 1 - TypeScript & Introduction to Angular CLI.pptx
Net core
Java seminar
Gitlab ci-cd
Ad

Viewers also liked (20)

PPTX
ASP.NET Core 1.0 Overview
PPTX
Getting Started with ASP.net Core 1.0
PPTX
ASP.NET Core 1.0 Overview: Post-RC2
PPTX
ASP.NET Core MVC + Web API with Overview
PPTX
Dia 01 - Workshop ASP.NET CORE 1.1
PPTX
Introduction to .NET Core
PPTX
Netcore - Emergic MailArray - Email Archiving & Compliance Solution
PPT
hostedexchange
PPTX
Cross Platform Web Applications Using ASP.NET Core 1.0
PPT
Ais powerpoint (1)
PPTX
Prototípus-fejlesztés 3D nyomtatással (Balássy György és Takács Péter)
PPTX
Enterprise Developer Meetup bevezető (2015.01.28.)
PPTX
XXI. századi szoftverfejlesztés
PPTX
Windows a dobozban, avagy IoT fejlesztés C#-ban
PPTX
TypeScript: Tényleg ez lenne a fájdalommentes JavaScript?
PPTX
IIS 7.5 webszerver újdonságok
PDF
.NET Core 1.0
PPTX
A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai
PDF
The Craftsman Developer In An Agile World
ASP.NET Core 1.0 Overview
Getting Started with ASP.net Core 1.0
ASP.NET Core 1.0 Overview: Post-RC2
ASP.NET Core MVC + Web API with Overview
Dia 01 - Workshop ASP.NET CORE 1.1
Introduction to .NET Core
Netcore - Emergic MailArray - Email Archiving & Compliance Solution
hostedexchange
Cross Platform Web Applications Using ASP.NET Core 1.0
Ais powerpoint (1)
Prototípus-fejlesztés 3D nyomtatással (Balássy György és Takács Péter)
Enterprise Developer Meetup bevezető (2015.01.28.)
XXI. századi szoftverfejlesztés
Windows a dobozban, avagy IoT fejlesztés C#-ban
TypeScript: Tényleg ez lenne a fájdalommentes JavaScript?
IIS 7.5 webszerver újdonságok
.NET Core 1.0
A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai
The Craftsman Developer In An Agile World
Ad

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

PDF
ASP.NET vs ASP.NET Core
PDF
Pottnet MeetUp Essen - ASP.Net Core
PDF
Pottnet Meetup Essen - ASP.Net Core
PPTX
ASP.NET Core 1.0 Overview
PDF
Asp. net core 3.0 build modern web and cloud applications (top 13 features +...
PPTX
ASP.NET Core 1.0 Overview: Pre-RC2
PPTX
From .NET Core 3, all the rest will be legacy
PPTX
Moving forward with ASP.NET Core
PPTX
.Net: Introduction, trends and future
PDF
Why Enterprises are Using ASP.NET Core?
PDF
Getting Started with ASP.NET Core 1.0 (formerly ASP.NET 5)
PPTX
Les nouveautés ASP.NET 5 avec Visual Studio 2015
PPTX
Unboxing ASP.NET Core
PPTX
ASP.NET Core - Phillosophies, Processes and Tooling
PPTX
ASP.NET Core 2.1: The Future of Web Apps
PPTX
ASP.NET Core 2.1: The Future of Web Apps
PPTX
Intro to.net core 20170111
PPTX
O futuro do .NET : O que eu preciso saber
PPTX
Explore asp.net core 3.0 features
PDF
White Paper : ASP.NET Core AngularJs 2 and Prime
ASP.NET vs ASP.NET Core
Pottnet MeetUp Essen - ASP.Net Core
Pottnet Meetup Essen - ASP.Net Core
ASP.NET Core 1.0 Overview
Asp. net core 3.0 build modern web and cloud applications (top 13 features +...
ASP.NET Core 1.0 Overview: Pre-RC2
From .NET Core 3, all the rest will be legacy
Moving forward with ASP.NET Core
.Net: Introduction, trends and future
Why Enterprises are Using ASP.NET Core?
Getting Started with ASP.NET Core 1.0 (formerly ASP.NET 5)
Les nouveautés ASP.NET 5 avec Visual Studio 2015
Unboxing ASP.NET Core
ASP.NET Core - Phillosophies, Processes and Tooling
ASP.NET Core 2.1: The Future of Web Apps
ASP.NET Core 2.1: The Future of Web Apps
Intro to.net core 20170111
O futuro do .NET : O que eu preciso saber
Explore asp.net core 3.0 features
White Paper : ASP.NET Core AngularJs 2 and Prime

More from Ken Cenerelli (14)

PPTX
ASP.NET Core deployment options
PPTX
No SQL, No Problem: Use Azure DocumentDB
PPTX
Azure app service to create web and mobile apps
PPTX
Analyze Your Code With Visual Studio 2015 Diagnostic Tools
PPTX
Azure Data Storage
PPTX
Building high performance software with Microsoft Application Insights
PPTX
An Introduction to Universal Windows Apps
PPTX
Build end-to-end video experiences with Azure Media Services
PPTX
Cloud Powered Mobile Apps with Azure
PPTX
Building Windows 8.1 Apps with Mobile Services
PPTX
Maximizing code reuse between Windows Phone 8 and Windows 8 (That Conference ...
PPTX
Maximizing code reuse between Windows Phone 8 and Windows 8 (DevTeach Toronto...
PPTX
An Introduction to Windows Phone 7 Development
PPTX
Introduction To Umbraco
ASP.NET Core deployment options
No SQL, No Problem: Use Azure DocumentDB
Azure app service to create web and mobile apps
Analyze Your Code With Visual Studio 2015 Diagnostic Tools
Azure Data Storage
Building high performance software with Microsoft Application Insights
An Introduction to Universal Windows Apps
Build end-to-end video experiences with Azure Media Services
Cloud Powered Mobile Apps with Azure
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 (DevTeach Toronto...
An Introduction to Windows Phone 7 Development
Introduction To Umbraco

Recently uploaded (20)

PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Unlocking AI with Model Context Protocol (MCP)
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Encapsulation theory and applications.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
KodekX | Application Modernization Development
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
NewMind AI Weekly Chronicles - August'25 Week I
sap open course for s4hana steps from ECC to s4
Unlocking AI with Model Context Protocol (MCP)
“AI and Expert System Decision Support & Business Intelligence Systems”
Digital-Transformation-Roadmap-for-Companies.pptx
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Reach Out and Touch Someone: Haptics and Empathic Computing
Building Integrated photovoltaic BIPV_UPV.pdf
Encapsulation theory and applications.pdf
Network Security Unit 5.pdf for BCA BBA.
Diabetes mellitus diagnosis method based random forest with bat algorithm
KodekX | Application Modernization Development
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Encapsulation_ Review paper, used for researhc scholars
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
MYSQL Presentation for SQL database connectivity
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy

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
  • 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

Editor's Notes

  • #2: 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
  • #6: 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
  • #10: - The .NET Foundation includes representatives from, among others, Microsoft, GitHub, and Xamarin.
  • #11: 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.
  • #12: Source: http://bradfrost.com/blog/post/this-is-the-web/ Images are under Creative Commons Attribution License
  • #13: Source: http://bradfrost.com/blog/post/this-is-the-web/
  • #14: Source: http://bradfrost.com/blog/post/this-is-the-web/
  • #17: 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.
  • #21: 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
  • #22: 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.
  • #23: 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
  • #24: 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
  • #26: - Unified web stack
  • #28: This slide introduces these features at a high level. The demo for these features is included in the next section.
  • #39: Anything bolded is a tag helper Uses HTML attributes instead of C#
  • #45: 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.