Op de tweede dag van Dev Intersection stond een workshop over ASP.NET 5 op de agenda. De workshop werd gegeven door John Pappa, Dan Wahlin en Ward Bell.
ASP.NET 5 is een complete rebuild van ASP.NET. De redenen voor deze rebuild zijn o.a:
- Cross platform (Windows, Mac, Linux)
- Meer flexibiliteit in de keuze van editors (Visual Studio is er alleen voor Windows)
- Side-by-side versioning
- Lichtgewicht end modulaire HTTP pipeline
- Open Source
Om ASP.NET 5 cross-platform te laten werken is het .Net Core Framework ontwikkeld. Dit is een sub set van het volledige .Net Framework waarbij alle functionaliteit ook weer verder is opgedeeld in meer assemblies waardoor de footprint zo klein mogelijk blijft.
ASP.NET 5 heeft geen afhankelijkheid meer van System.Web zodat het ook eenvoudig wordt om ASP.NET op andere hosting omgevingen dan IIS te draaien.
In de workshop werd de beta8 release van ASP.NET 5 gebruikt. De eerste Release Candidate wordt binnenkort verwacht. De eerste productie release wordt verwacht in Q1 van 2016.
ASP.NET 5 maakt gebruik van Open Source tools zoals Node.js (npm), Grunt/Gulp (task runner) en Bower (client javascript package manager). Deze tools zijn op meerdere platformen beschikbaar waardoor Cross platform ontwikkelen mogelijk wordt.
Het .Net Core Framework wordt niet meer op de machine geïnstalleerd maar wordt met de applicatie mee gedeployed. Dit maakt het mogelijk om meerdere applicaties met verschillende versies van het framework naast elkaar op dezelfde machine te draaien.
In ASP.NET 5 zijn de programmeermodellen van MVC en WebApi samengevoegd tot één model. Er is dus bijvoorbeeld maar één Controller base class voor zowel MVC als WebApi. Ook het routing model is samengevoegd tot één model.
ASP.NET 5 kent ook geen Visual Studio project file meer, de configuratie van het project wordt gedaan met behulp van een JSON project file waarin alle afhankelijkheden (NuGet packages), ondersteunde framework versies etc. worden opgenomen.
In ASP.NET 5 configureer je alle onderdelen die je nodig hebt in je applicatie in de Startup class. Dit zorgt ervoor dat je altijd alleen de functionaliteit gebruikt die je nodig hebt. In de Startup class configureer je ook de http pipeline met alle MiddleWare componenten die je applicatie nodig heeft zoals authenticatie, MVC, WebApi etc.
ASP.NET 5 is een complete rebuild met als doel een modulair en cross-platform framework neer te zetten. Je gebruikt altijd alleen de modules die je nodig hebt wat zorgt voor een zeer goede performance die vergelijkbaar is met frameworks zoals Node.js.
Uiteraard zijn er nog veel meer nieuwe features en is er nog veel meer te vertellen over ASP.NET 5. Voor meer informatie zie: https://github.com/aspnet/home. De workshop presentatie is te vinden op: http://tinyurl.com/asp5NL