Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ASP.NET 5: How to Get Your Cheese Back

ASP.NET 5: How to Get Your Cheese Back

Progressive .NET Tutorials 2015, London

Avatar for Tugberk Ugurlu

Tugberk Ugurlu

July 03, 2015
Tweet

More Decks by Tugberk Ugurlu

Other Decks in Programming

Transcript

  1. ASP.NET 5: How to Get Your Cheese Back Tugberk Ugurlu

    Redgate Software @tourismgeek http://tugberkugurlu.com #ProgNet15
  2. Problem • ASP.NET 5 is a complete rewrite • It

    has new concepts like DNX, DNU, DNVM #ProgNet15
  3. Expectations • Not a 101 talk on ASP.NET 5. •

    There are some slides • It will not give you all the answers but will give an idea. • It wıll probably not gonna be much fun as Mark’s talk #ProgNet15
  4. New Project Structure • Folder-based source • project.json, no more

    csproj. • Unified dependency management • webroot folder, seperation of the assets and app directories #ProgNet15
  5. New Project Structure: Advantages • No more merge conflicts on

    csproj • Your sanity is preserved™ • Easy to work with client side assets • webroot makes it slightly faster for you to handle requests #ProgNet15
  6. Command-line First Development • All the operations (build, pack, publish,

    etc.) can be done through command line • One important step on being code editor agnostic • Will go into these in the next session #ProgNet15
  7. Modular, Composable HTTP Pipeline • Nothing is on the pipeline

    unless you want it to • You are in-charge of building your pipeline. #ProgNet15
  8. Modular, Composable HTTP Pipeline: Advantages • You don't pay the

    price for the stuff you don't use • You can have the same behavior between servers. #ProgNet15
  9. Dependency Injection All the Way Down • Everywhere is testable,

    even Program.Main :) • Easy to get a hold of runtime dependencies • Built in DI container, can be replaced with your favorite #ProgNet15
  10. Embrace Existing Ecosystems for Client Side Assets • bower: up-to-date

    dependencies. • No need to commit them into your source control system. • client side build • Bundling, minification, compile, etc. • being able to use nodejs tools like gulp, grunt which have up-to-date of everything. • No extra learning curve • Easily deploy to CDN #ProgNet15
  11. New Configuration Model • Chained, ordered set of configuration providers

    • XML • JSON • INI • Environment Variables • In-memory • Customizable, you can have any format you like • No more config transforms #ProgNet15
  12. Unified MVC and Web API • No more confusion (e.g.

    which AuthorizeAttribute is which) • MVC can be now self-hosted, no ties to System.Web #ProgNet15
  13. Code Editor Agnostic • Top-notch Visual Studio Tooling Support with

    VS 2015 • OmniSharp to back other code editors • Atom • Sublime • VS Code • Emacs • Yeoman generators #ProgNet15
  14. Multiple framework targets • No more link source file compilation

    magic to get multi platform compile work • CoreCLR #ProgNet15
  15. Cross Platform! • Windows, Linux, OS X • Build and

    run cross-platform ASP.NET apps in supported platforms • Kestrel: new web server on top of libuv for Linux and OS X #ProgNet15
  16. Summary • Cross Platform (Windows, OS X, Linux, etc.) •

    Multiple Target Frameworks and CoreCLR • New Project Structure • Command-line first Development Environment • Modular, Composable HTTP Pipeline • Dependency Injection All the Way Down • Embrace Existing Ecosystems for Client Side Assets • New Configuration Model • Unified MVC and Web API • Code Editor Agnostic (VS, VS Code, Atom, Sublime, etc.) #ProgNet15
  17. There are more… • Open source! • In-memory compilation •

    No ties to MSBuild whatsoever, choose your own build tool • Brand new Data Protection APIs • http://docs.asp.net/en/latest/security/data-protection/index.html • Tag Helpers (approach them with caution) • Entity Framework 7 • ASP.NET Identity 3 • And more... #ProgNet15
  18. Resources • ASP.NET GitHub Org: https://github.com/aspnet • ASP.NET Home Repository:

    https://github.com/aspnet/Home • ASP.NET 5 Docs: http://docs.asp.net • Introduction to ASP.NET 5: http://docs.asp.net/en/latest/conceptual-overview/aspnet.html • DNX Overview: http://docs.asp.net/en/latest/dnx/overview.html • Introducing ASP.NET 5: https://channel9.msdn.com/Events/Build/2015/2-687 • Deep Dive into ASP.NET 5: https://channel9.msdn.com/Events/Build/2015/2-726 • Deep Dive into Microsoft ASP.NET 5: https://channel9.msdn.com/Events/Ignite/2015/BRK4703 • What's New with ASP.NET 5: https://channel9.msdn.com/Series/Whats-New-with-ASPNET-5 • ASP.NET 5 Community Standups: http://bit.ly/1KKYI37 • My ASP.NET 5 Posts: http://www.tugberkugurlu.com/tags/asp-net-5 and http://www.tugberkugurlu.com/tags/asp-net-vnext #ProgNet15