.NET 5: Was bedeutet die Fusion von .NET Framework und .NET Core?

Die .NET-Strategie von Microsoft war in letzter Zeit möglicherweise etwas unklar, da das bekannte .NET Framework und der neue Open-Source-.NET Core zwei unterschiedliche Entwicklungsbereiche aufweisen. Ein gemeinsamer Satz von .NET Standard-Bibliotheken zielte darauf ab, beide zusammenzuführen, sodass Entwickler auf allen Zielplattformen, von Windows über Mobile bis hin zum Web, auf eine einzige Weise mit den verschiedenen .NET-Versionen arbeiten können. Aber das bedeutete immer noch, darüber nachdenken zu müssen, welche .NET-Laufzeit verwendet werden soll: Core, Xamarin, Mono oder Framework?

Einführung in .NET 5, die Zukunft von .NET

Auf der Build 2019 stellte Microsoft seine Pläne für die Zukunft von .NET vor und kündigte an, dass die nächste Hauptversion nach .NET Core 3 eine einzelne Version von .NET namens .NET 5 sein wird. Aufbauend auf dem schnellen Wachstum des überarbeiteten und neu belebten .NET Im Kern möchte Microsoft, dass viele vorhandene .NET Framework 4.8-APIs und -Funktionen unter .NET 5 ausgeführt werden, zusammen mit neuen APIs und Diensten. Es sind nicht nur die Basisklassenbibliotheken, die konvergieren. Microsoft nutzt die Gelegenheit, um seine verschiedenen .NET-Compiler zusammenzuführen und sowohl das JIT (Just-in-Time) von .NET Core als auch die vorzeitigen Kompilierungsmodelle von Mono weiterzuentwickeln.

Es ist keine überraschende Entscheidung. Das .NET Framework wurde nicht so schnell weiterentwickelt wie .NET Core, das durch Legacy-Code belastet wurde. Dies, zusammen mit dem wachsenden Fokus von Microsoft auf die plattformübergreifende Entwicklung, stellte sicher, dass ein entscheidender Übergang vom fast zwanzig Jahre alten Framework zum neueren Core unvermeidlich war. Das Löschen von Core aus dem Namen ist ebenfalls logisch. Mit den APIs, die seit dem Start hinzugefügt wurden, und der Unterstützung für die .NET Standard-Bibliotheken ist .NET Core wirklich kein reduziertes Core-Refactoring mehr. Da .NET 5 das Ende der Entwicklung für .NET Framework signalisiert, ist es eindeutig Zeit für einen neuen Namen.

Trotzdem wird es keine Veränderung über Nacht sein. .NET Core 3 wird noch ausgeliefert, und wir werden .NET 5 erst im Herbst 2020 sehen. Ein geplantes Versanddatum im November 2020 gibt uns fast 18 Monate Zeit, um unseren Code fertig zu stellen erste Hälfte des Jahres 2020.

Was passiert mit .NET Framework?

Eines macht Microsoft klar: .NET Core 3 ist die letzte Version für die Portierung von .NET Framework-APIs. Daher gibt es in .NET 5 keine zusätzlichen Framework-APIs, und einige ältere Technologien wie Web Forms und Windows Communication Foundation sind nicht Teil der neuen Plattform. Wenn Sie von .NET Framework 4.8 wechseln möchten, müssen Sie alternative, unterstützte Technologien finden. Derzeit empfiehlt Microsoft Blazor, Web Forms und gRPC anstelle von WCF zu ersetzen. Dies sind sinnvolle Alternativen, die Ihnen plattformübergreifende Unterstützung bieten, die mit älteren Technologien nicht verfügbar wäre. Da Blazor Web Assembly verwendet oder serverseitige Steuerelemente in ASP.NET anbietet, unterstützen sie jetzt viel neuere und leistungsstärkere Funktionen Technologien.

Microsoft empfiehlt Entwicklern, .NET Core 3 für alle neuen Anwendungen zu verwenden. Beachten Sie jedoch, dass dies nicht das Ende Ihrer .NET Framework-Anwendungen ist. Microsoft verpflichtet sich zur langfristigen Unterstützung von .NET Framework. Wenn also Code unter .NET Framework 4.8 ausgeführt wird, muss dieser erst aktualisiert werden, wenn Sie bereit sind, die Umstellung vorzunehmen. Schließlich werden derzeit die wichtigsten Entwicklertools ausgeliefert, einschließlich Visual Studio, das mit .NET Framework erstellt wurde. Selbst dann sollte die Migration aufgrund der Kompatibilität der Basisklasse zwischen einem Großteil des neuen .NET und dem alten dank .NET Standard nicht schmerzhaft sein und bietet Ihnen die Möglichkeit, diesen Code an vielen weiteren Stellen auszuführen.

Durch einfaches Migrieren von Code wird jedoch die Möglichkeit verpasst, Anwendungen für die Cloud und für Microservices umzugestalten und neu zu gestalten. .NET 5 wird für die heutige IT-Welt entwickelt, wobei Hybrid-Cloud- und containerisierte verteilte Systeme ganz oben auf der Tagesordnung stehen und nicht die Client-Server-Welt, aus der Ende der neunziger Jahre das ursprüngliche .NET hervorging.

Eine plattformübergreifende Laufzeit für eine plattformübergreifende Welt

Durch die Vereinigung von .NET Core, .NET Standard und Xamarin auf einer Plattform möchte Microsoft die plattformübergreifende Hochburg erobern. Ihr Code (mit einigen UI-Arbeiten) kann unter Windows, Linux, iOS, Android und mehr ausgeführt werden und unterstützt viele verschiedene Geräteklassen. Wenn Sie die Unterstützung von .NET Core 3 für den Windows-Desktop hinzufügen, können Sie in .NET 5 eine Vielzahl von Anwendungen erstellen, insbesondere wenn Sie dank der Unterstützung durch .NET-Tools von Drittanbietern von Uno und Andere.

Da .NET-Implementierungen über .NET Core hinausgehen, ist weiterhin Platz für die .NET-Standardbibliotheken vorhanden. Gemeinsame Bibliotheken erleichtern das Targeting mehrerer Versionen von .NET aus demselben Quellcode, und Ihr gesamter .NET 5-Code verwendet .NET Standard, wodurch das Weiterleiten von Code aus älteren Versionen von .NET Core und anderen .NET-Implementierungen wie z Mono oder Xamarin.

Die Unternehmensgrundlage von .NET richtig einstellen

Ein Aspekt der .NET 5-Ankündigung ist ein regulärer Veröffentlichungsplan für .NET. Wenn Sie .NET auf eine jährliche Trittfrequenz mit einer halbjährlichen langfristigen Support-Version einstellen, sollte dies den zusätzlichen Druck auf die Entwickler verringern und ein Maß an Vorhersehbarkeit hinzufügen, das bisher fehlte. Wenn Sie wissen, dass .NET 6 im Jahr 2021 verfügbar sein wird, gefolgt von .NET 7 ein Jahr später, und mit vierjähriger Unterstützung für die langfristigen Support-Releases, wird es einfacher, neue Funktionen und Anwendungslebenszyklen zu planen. Damit können Microsoft und der Rest der .NET Foundation klare Roadmaps veröffentlichen, was zu erwarten ist und wann.

Außerhalb des .NET-Ökosystems gibt es hier eine weitere Möglichkeit für Microsoft und seinen Fokus auf Entwickler-Tool-Abonnements. Mit den geänderten Lizenzbedingungen von Oracle für Java wird eine lizenzfreie Open Source-Unternehmenslaufzeit für viele bestehende Java-Entwicklungsteams attraktiv sein. Dieser 18-monatige Start bis zum Start von .NET 5 könnte als Zeit angesehen werden, um Ihre Entwickler in neuen Sprachen und Tools zu schulen und die Neuimplementierung von Anwendungen in den .NET-Microservices zu planen.

Das Ergebnis ist eine unternehmensentwicklerfreundliche .NET-Roadmap. Microsoft und die .NET Foundation verpflichten sich zu regelmäßigen Updates und einer einzigen plattformübergreifenden Laufzeit und stellen gleichzeitig sicher, dass ältere .NET Framework-Anwendungen nicht aufgegeben werden. Langfristiger Support sollte Entwicklungsteams dabei helfen, die Lebenszyklen von Anwendungen zu planen und zu entscheiden, was wann aktualisiert werden soll. Sie können mit der aktuellen Vorschau von .NET Core 3 beginnen, die für 2020-Versionen bereit ist.