440 likes | 532 Views
October, 2014. The next step from Microsoft - vNext. Srdjan Poznic. Partnership. History of ASP.NET. Released in 2002 with VisualStudio.NET ASP.NET Ajax (2007) ASP.NET Dynamic Data (2008) ASP.NET MVC added (2009) WebAPI added (2012) OWIN and SignalR introduced (2013).
E N D
October, 2014 The next step from Microsoft - vNext Srdjan Poznic Partnership
History of ASP.NET • Released in 2002 with VisualStudio.NET • ASP.NET Ajax (2007) • ASP.NET Dynamic Data (2008) • ASP.NET MVC added (2009) • WebAPI added (2012) • OWIN and SignalR introduced (2013)
Current state of ASP.NET • MVC • WebAPI • WebPages, WebForms • Entity Framework • Mature enough?
Idea? • - What we can do to make .NET better on the cloud? • What we can do to make .NET better on the hosted environment? • How to improve development cycle? • …
What customers say? • - We want open-source! • We need to deliver much faster • We need cross-device development strategy • My customer can’t update to new version of framework. • …
ASP.NET vNext • Latest: ASP.NET vNext alpha4 • (October, 6th) • Visual Studio 14 CTP 4 • (Community Technology Preview) • .NET Framework v4.5.3
New approach • .NET Innovation • Innovation on the core of existing and future applications • Flexibility and agile delivery • Continuous modular releases • Openness • Transparent, open and community driven
Goal (Use pieces that you what to use) - Cross-platform support - Fast - Choose editors/tools - Open-source • - Faster development cycle • New builds and inside the tools - Modular
What is new? • All about NuGet • New run-time engine called „K“ • Roslyn compiler • New project system • New configuration system • Cloud optimized .NET (CoreCLR) takes ~11MB
New features • Side-by-side deployment • - Exact same code is running on both machines • - no GAC • Open source • Cross-platform (Windows, Mac, Linux)
What is new in asp.net? • MVC, WebAPI, WebPages 6, SignalR3, EF 7 • MVC, Web API & Web Pages have been merged into one • Cloud-optimized versions of MVC, WebAPI, Web Pages, SignalR, and EF • Host agnostic – runs not only under IIS
What is new in asp.net? - Removing System.Web - Moving to OWIN middleware - e.g. Error screen replacement - HttpContext (minimum info in object graph) - The result is a leaner framework, with faster startup time and lower memory consumption.
What is new in asp.net? • No Web.Config anymore • No Global.asax • No packages.xml file • No DLLs anymore • AspNet.Loader.dll
Runtime performances • Old HttpContext removed (~30K) • New HttpContext (~2K) • GC • Faster startup time • Lower memory • REST vs Line Business Apps (historical reasons)
Faster development • Change the file > Save > Refresh the browser • Faster development (dynamic compiling) • Cloud optimized • Develop in cloud editors
Cloud • Seamless transition to cloud • (Same code is running) • Configuration • Session • (SessionState to SessionStateProvider)
Cloud • Cache • Azure Redis Cache / Asp.net cache • Run/Debug in Cloud • Visual Studio Online “Monaco” • Tracing/Logging without re-deploy
Extending application types • Knockout • AngularJS • Ember • Backbone • …
Common improvements • DI everywhere • Tracing and Diagnostics • Consistency
Dependency Injection • Scoped/Transient/Instance/Singleton • Scoped (per request scope):
To me, as a developer, this means • I get all the advantages of the .NET platform (performance, stability, security, comprehensive API) • The development experience of C# and Visual Studio... with the simplicity, portability, quick development refresh cycle and flexibility of an interpreted web framework.
K Runtime
K tools • KVM (K runtime version manager) • Switch between versions • Switch between .NET runtimes • Upgrade K Runtime
K tools • KPM (K runtime package manager) • Downloads or restores packages for application • Runs from command-line • Uses project file to detect required packages • kpm list • kpm use • kpm upgrade • kpm pack (-- runtime)
Roslyn • (.NET) Compiler as a Platform • Mission? • Opportunities for: • meta-programming • code generation and transformation • interactive use of the C# and VB languages
Roslyn • API and Pipeline
Roslyn • WebForms, MVC5, WebAPI2, WebPages 3, SignalR 2, EF 6 • - fully supported by Roslyn
Tools • - Nuget Package Explorer • https://npe.codeplex.com/ • - Process Explorer • - API Portability Analyzer – Alpha • http://www.microsoft.com/en-us/download/details.aspx?id=42678 • - MyGet • https://www.myget.org/ • Sublime editor • http://www.sublimetext.com/
More.. • .NET Native • .NET Native compiles C# to native machine code that performs like C++ • Popular Windows Store apps start up to 60% faster and use 15-20% less memory when compiled with .NET Native. • C++ updates • Command line scaffolding
Future of the core • RyuJIT: The next-generation JIT compiler for .NET
Future of the front end build process • Why not nugget/MSBuild? • Gulp • Grunt • Bower
Known issues: • Browser link • Fix: Disable Browser Link http://blogs.msdn.com/b/webdev/archive/2013/06/28/browser-link-feature-in-visual-studio-preview-2013.aspx • Missing ASP.NET Loader IIS assembly • Fix? • Opening project.json as a project • may lead to the wrong output type • Fix: Change output type
Known issues: • After creating new vNext project, empty project folder is created under the solution folder • New project not under “src” • KVM installation
WARNING! • This shows what the ASP.NET team is working on • DO NOT use it in Production • DO NOT run it on your development machine
Links • WebDev blog: http://blogs.msdn.com/b/webdev • Asp.net: www.asp.net/vnext • Asp.net Github: https://github.com/aspnet • Scott’s blog: http://www.hanselman.com/
O autoru… • Mail: s.poznic@vegait.rs • twitter: @srdjanpoznic • Linked in: http://goo.gl/bXA7Av