Der Stand der .NET-Familie zum Jahresbeginn 2020

Der Dotnet-Doktor  –  3 Kommentare

Mit dem Erscheinen von .NET Core 3.1 ist es einmal wieder an der Zeit, mein Schaubild "Die .NET-Familie" auf den aktuellen Stand zu bringen.

Links in Grün sieht man das klassische .NET Framework 4.8, in der Mitte in Rot die .NET-Core-Produkte und rechts in Blau die Mono-Welt. Mit .NET 5.0 (Nachfolger von .NET Core 3.1, geplant für November 2020) will Microsoft diese drei Produktlinien zusammenführen. Derzeit aber noch sind es drei getrennte Laufzeitumgebungen, die auf unterschiedlichen Betriebssystemen laufen und verschiedene Anwendungsframeworks unterstützen.

Das läuft hier, das läuft dort

Windows Forms und WPF laufen seit .NET Core 3.0 nicht nur im klassisches .NET Framework, sondern auch in der Core-Welt – aber nicht plattformneutral, sondern nur auf Windows. Windows Forms gibt es weiterhin plattformneutral in Mono.

Klassische ASP.NET-Webanwendungen laufen auf .NET Framework und Mono. ASP.NET Core-Anwendungen (MVC, Razor Pages, SignalR, WebAPI, gRPC-Dienste, Blazor Server) funktionieren seit Version 3.0 nur auf .NET Core. Die vorherigen Versionen 1.x und 2.x liefen auch auf dem klassisches .NET Framework.

Das neue Webframework Blazor geht in der "Blazor Server"-Variante auf .NET Core, in der "Blazor WebAssembly"-Variante aber auf einem im Webbrowser gehosteten Mono. Windows 10 Universal Platform Apps verwenden weiterhin eine ältere Variante von .NET Core. Xamarin Apps laufen auf Mono. Konsolenanwendungen gibt es in allen drei Welten.

Auch Microsofts objektrelationaler Mapper ADO.NET Entity Framework (seit Version 6.3) und Entity Framework Core (seit Version 1.0) gibt es mittlerweile in allen drei Welten. Entity Framework Core 3.0 lief nicht mehr auf dem klassisches .NET Framework, das hat Microsoft in Version 3.1 aber revidiert. Mit der kommenden Version Entity Framework Core 5.0 soll dann aber .NET 5.0 die einzige Basis sein.

Während .NET Core seit Version 3.0 und Mono seit Version 6.4 den .NET Standard 2.1 implementieren, bleibt das klassisches .NET Framework auf .NET Standard 2.0 stehen.

.NET 5.0 wird die .NET-Welt vereinheitlichen, aber nicht ohne Verluste. Zu den "sterbenden" Techniken gehören ASP.NET Webforms, die ASP.NET Webservices und .NET Remoting, die Entwicklung von SOAP-Webservices und REST-Diensten mit der Windows Communication Foundation (WCF) und die Windows Workflow Foundation (WF) sowie die Code Access Security (CAS), das Managed-Add-in-Framework (MAF) und das Click-Once-Deployment.

Das .NET-Familienschaubild

Das Schaubild oben veranschaulicht die aktuelle Situation der .NET-Familie. Es lässt sich weiterverwenden und weiterverbreiten, wenn es unverändert und die Quellengaben erhalten bleiben.