ASP.NET Core
Eintrag zuletzt aktualisiert am: 10.02.2020
ASP.NET Core (bis 21.1.2016:
ASP.NET 5.0, Codename
ASP.NET vNext und
Project K) ist der Nachfolger von
ASP.NET Webforms 4.5.x,
ASP.NET MVC 5,
ASP.NET WebPages 3,
ASP.NET SignalR 2 und
ASP.NET Web
API 5. Zwischen Mai 2014 und November 2014 verwendete Microsoft den Codenamen "
ASP.NET vNext", der aber auch schon in der Vergangenheit für frühere
ASP.NET-Versionen verwendet wurde. Microsoft entwickelt
ASP.NET Core komplett als Open Source-Projekt mit Beteiligung externer Entwickler.
ASP.NET Core umfasst folgenden Anwendungsarten
Ressourcen
Quellcode:
https://github.com/dotnet/aspnetcoreDokumentation:
https://docs.microsoft.com/de-de/aspnet/coreGeschichte
13.5.2014 (
TechEd USA): Erste öffentliche Erwähnung, noch unter dem Namen "
ASP.NET vnext"
12.11.2014 (connect 2015): Benennung "
ASP.NET 5"
18.11.2015 (connect 2014): RC-Version
19.01.2016: Umbenennung in
ASP.NET Core 1.0
16.05.2016: RC2
- ASP.NET Core 1.0 ist erschienen am 26.07.2016
- ASP.NET Core 1.1 ist erschienen am 16.11.2016
- ASP.NET Core 1.1.1 ist erschienen am 07.03.2017
- ASP.NET Core 2.0 ist erschienen am 14.08.2017
- ASP.NET Core 2.1 ist erschienen am 31.05.2018
- ASP.NET Core 2.2 ist erschienen am 04.12.2018
- ASP.NET Core 3.0 ist erschienen am 23.09.2019
- ASP.NET Core 3.1 ist erschienen am 03.12.2019
- ASP.NET Core 5.0 ist erschienen am 10.11.2020
- ASP.NET Core 6.0 wird erscheinen im Jahr 2021
Anwendungsmodelle
Das klassischen
ASP.NET war immer schon ein Oberbegriff über zahlreiche Anwendungsmodelle:
Webforms, Dynamic Data, Model View Controller (
MVC), Web
API und Web Pages – mit verschiedenen Vor- und Nachteilen.
Auch in
ASP.NET Core gibt es mehrere Anwendungsmodelle:
POCO-Controller
Model View Controller (
MVC)-Framework
Razor Pages
Web
API (ein Sonderfall des Model View Controller Framework)
SignalR
Blazor Server
Während
MVC und
Razor Pages zum Server Side Rendering gehören, dienen Web
API und SignalR dem Client Side Rendering.
POCO-Controller können für beides verwendet werden.
Blazor Server läuft zwar auf dem
Webserver, da aber alle
HTML-DOM-Änderungen einzeln per SignalR zum Client übretragen werden, hat der Benutzer das Erlebnis einer Single-Page-Web-App (SPA).
Ziele für
ASP.NET Core
Komplette Reimplementierung
Schlank, komponentenbasiert/modular
- Nur benötigte Features
- Weniger Angriffsfläche
Agileres Vorgehen
- Schnellere / kleinere Releases
- Updates einzelner Komponenten
Nuget-Pakete (
nupkg):
Konfigurationsdateien:
JSON statt
XMLDependency injection *everywhere*
Keine Abhängigkeit von
System.Web.NET Framework wird pro Ordner installiert (
Xcopy-Deployment)
- Laufzeitumgebung "Side by side"
- Jeder kann .NET installieren, in beliebigen Versionen (kein Warten auf Rollout mehr!)
- Systemweiter Cache für Nuget-Pakete
- Automatische "ngen" (Name: CrossGen)
Schnellerer Anwendungstart: Kompilieren direkt in RAM
Ad-Hoc-Kompilieren dank
RoslynWenig RAM-Bedarf nur benötigte
Komponenten
Höhere Dichte von Anwendungen auf Server (vgl. Cloud)
Einfaches Self-Hosting (oder im
IIS)
Cross-Platform: Windows,
Mono/
XamarinAlles Open Source
Neues Features für
ASP.NET Core