Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

ASP.NET Core: The best of the new bits

1 190 vues

Publié le

These slides provide an overview of .NET Core and also the changes to ASP.NET Core after the RC2 release. There is also some demos and source code.

This talk was given at the Let's Dev This Roadshow in London, ON on May 26, 2016.

Publié dans : Technologie
  • Soyez le premier à commenter

ASP.NET Core: The best of the new bits

  1. 1. ASP.NET Core: The best of the new bits Ken Cenerelli
  2. 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
  3. 3. .NET Core First things first…
  4. 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. 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. 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. 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
  8. 8. 8 Credit: opensource.com
  9. 9. Strange Times… 9
  10. 10. Visual Studio 2015 and ASP.NET Core: Support for npm, bower, gulp, grunt, etc. npm bower grunt gulp
  11. 11. Responsive and plug-in free http://bradfrost.com/blog/post/this-is-the-web/
  12. 12. Responsive and plug-in free http://bradfrost.com/blog/post/this-is-the-web/
  13. 13. Responsive and plug-in free http://bradfrost.com/blog/post/this-is-the-web/
  14. 14. ASP.NET Core
  15. 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. 16. ASP.NET 4.6 and ASP.NET Core 1.0
  17. 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. 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. 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. 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. 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. 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. 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. 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. 25. 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
  26. 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
  27. 27. Deployment portability •Two main models: • Portable Apps • Self-contained Apps 28
  28. 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
  29. 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
  30. 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
  31. 31. Tooling Changes
  32. 32. 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
  33. 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
  34. 34. Demo ASP.NET Core 1.0 from the SDK
  35. 35. 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
  36. 36. Demo ASP.NET Core 1.0 from the IDE
  37. 37. 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
  38. 38. TagHelpers
  39. 39. Demo TagHelpers
  40. 40. 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
  41. 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
  42. 42. Web APIs
  43. 43. In ASP.NET 4.6 – Separate Stack
  44. 44. In ASP.NET Core: API services are an ASP.NET Core feature
  45. 45. Microsoft /web® Sample Read-only Model and Controller
  46. 46. Microsoft /web® Read-only Controller Actions to return data
  47. 47. Routing a Web API
  48. 48. Resources Feedback and questions http://asp.net http://get.asp.net http://docs.asp.net http://aka.ms/webcamps-training-kit

×