Mit .NET 5 kam am 10. November dieses Jahrs das lang ersehnte Major Release im .NET Ökosystem mit neuen Versionen unter anderem auch für C#, ASP.NET Core oder Entity Framework Core. .NET 5 ist dabei sowohl der Nachfolger für .NET Core als auch für das .NET Framework und versucht beide zu vereinen, indem noch mehr Plattformen und bestehende Funktionalitäten unterstützt werden. Während das Update von .NET Core Applikationen reibungslos funktionieren sollte, gibt es immer mehr Möglichkeiten, bestehende .NET Framework Anwendungen auf .NET 5 zu migrieren. In unserer Blogserie wollen wir gebündelt vorstellen, was es alles Neues gibt und wo es sich lohnt, etwas mehr Zeit zu investieren.
Abbildung 1: .NET 5 als Unified Platform (Quelle: Microsoft)
“One runtime to rule them all”, so könnte man Microsoft’s Bestreben nach einer vereinheitlichten Plattform mit .NET 5 interpretieren (siehe Abbildung 1). Mit .NET 5 sollen alle Bereiche der Entwicklung von Desktop über Web, Cloud und Mobile bis hin zu IoT, Gaming und AI abgedeckt werden. Zusätzlich gibt es Tooling für Windows mit Visual Studio, für Mac mit Visual Studio for Mac und auch mit dem kostenlosen Visual Studio Code für Linux, Mac und Windows zusammen. Wann aber lohnt es sich auf .NET 5 zu updaten und wann nicht?
Wieso sollte auf .NET 5 gewechselt werden?
Mit .NET 5 kommen viele verschiedene Neuerungen und Verbesserungen. So wurde die Performance deutlich verbessert z.B: im Bereich JSON Serialisierung mit System.Text.Json, bei Regular Expressions und auch vereinzelte Funktionen über das gesamte Framework verteilt. Die Auslieferung von Anwendungen als Single-File-Apps profitieren durch Funktionen wie Trimming, um die Größe der Datei deutlich zu reduzieren, trotz vollem Framework und Dependencies die automatisch mitkommen.
.NET Frameworks wie ASP.NET Core, Entity Framework Core und gRPC haben viele Neuerungen und Performance-Verbesserungen erhalten. Die größte Neuerung gab es aber für die .NET-Programmiersprachen: C# 9, F# 5 und VB.NET. Neue Sprachkonstrukte wie Record-Types und auch Top-Level-Progams machen die Programmierung deutlich einfacher. Was es dazu Neues gibt, wollen wir in späteren Blogposts im Detail beleuchten.
Wer die neuen Features nicht dringend benötigt und für wen die Performance-Optimierungen keine signifikante Rolle spielt, der sollte vielleicht noch warten.
Sollte .NET 5 in Produktion eingesetzt werden?
Da es sich bei .NET 5 nicht um eine LTS-Version (Long Term Support) handelt, wird diese nur bis 3 Monate nach dem nächsten Major Release unterstützt. Da die .NET Release Cycles durchgeplant und fix sind, wird .NET 6 als nächste LTS-Version im November 2021 erscheinen, wodurch .NET 5 bis Februar 2022 unterstützt wird.
Wer also die neusten Bits und Bytes bereits ausprobieren will und nicht bis Ende 2021 warten möchte, kann dies durchaus tun. Wer Anfang 2022 dann nicht schon wieder auf .NET 6 updaten möchte, sollte sich vielleicht noch etwas gedulden. Trotz allem gilt: Die neusten .NET Versionen, ob LTS oder nicht, sind stabil und werden auch für Microsoft Anwendungen wie Bing und Co. genutzt. Durch dieses Dogfooding von Microsoft kann man auch bei eigenen Anwendungen profitieren. Die Updates zwischen Versionen werden dadurch immer einfacher und die Stabilität von Anwendungen ist gegeben.
Auf Azure gibt es .NET 5 übrigens schon. Wer also seinen App Service mit .NET 5 laufen lassen möchte, muss nur die Runtime Settings ändern. Nur die Function App hat leider zum Zeitpunkt des Blogposts noch keinen .NET 5 Support.
Sprechen Sie uns an, wenn auch Sie Fragen zu Themen rund um .NET haben oder Hilfe bei Portierung Ihrer Anwendung nach .NET 5.0 in Ihrem Unternehmen benötigen. Wir führen Sie gerne ans Ziel.