Auf der BUILD 2019 hat Microsoft auch seine Pläne für die Entwicklung von NET kund getan. Im November 2020 soll es ein neues Produkt mit dem Namen NET 5.0 geben, welches die aktuellen Produktlinien .NET Framework, .NET Core und Mono zusammenführen soll.
Anzeige
Die Ankündigung
In diesem deutschsprachigen Microsoft-Beitrag heißt es: Das nächste große .NET-Release nach .NET Core 3.0 wird unter dem Namen .NET 5 laufen und alle .NET-Variationen unter sich vereinen. Das bedeutet, dass es in Zukunft nur noch ein .NET geben wird, das sich für die unterschiedlichsten Zielplattformen nutzen lässt. Dazu gehören beispielsweise Windows, Linux, macOS, iOS, Android, tvOS, watchOS und WebAssembly.
.NET Core war je ein Projekt, bei dem der Plattform etwa 50.000 .NET Framework-APIs hinzugefügt wurden. .NET Core 3.0 schließt einen Großteil der verbleibenden Funktionslücken zu .NET Framework 4.8 und bietet die Kompatibilität mit Windows Forms, WPF und Entity Framework 6.
(Quelle: Microsoft)
Das kommende .NET 5 wird, laut den Versprechen von Microsoft, auf dieser Arbeit aufbauen und .NET Core und das Beste aus Mono in einer einzigen Plattform vereinen. In der englischsprachigen Ankündigung wird .NET 5 deshalb als 'unified platform', also als Vereinheitlichung der .NET-Plattform, angekündigt. Das Projekt soll .NET in einigen wesentlichen Punkten verbessern:
Anzeige
- Eine einzige .NET Runtime und ein Framework, das überall verwendet werden kann und ein einheitliches Laufzeitverhalten ermöglichen soll.
- Erweitert die Möglichkeiten von .NET, indem es das Beste aus .NET Core, .NET Framework, Xamarin und Mono nutzt.
Microsoft preist das Ganze als ein entscheidender Schritt für .NET, sollen doch Code- und Projektdateien gleich aussehen, unabhängig davon, welche Art von Anwendung zu erstellen sind.
Release-Planung für .NET 5
Geplant ist, dass .NET 5 im November 2020 veröffentlicht wird. Die erste Preview soll im Laufe des ersten Halbjahres 2020 verfügbar sein. .NET 5 wird von zukünftigen Updates für Visual Studio 2019, Visual Studio für Mac und Visual Studio Code unterstützt werden.
(Quelle: Microsoft)
In obigem Bild sind die zeitlichen Abläufe für die einzelnen .NET-Versionen zu sehen. Im September 2019 soll .NET Core 3.0 allgemein verfügbar sein, während für November 2019 bereits .NET Core 3.1 in Form einer 'LTS'-Variante geplant ist. Das LTS soll für Long Term Service stehen, also Langzeit-Support. Wenn ich aber sehe, dass Microsoft alle 2 Jahre eine neue LTS-Version plant, ist LTS doch ein wenig übertrieben.
Da ich selbst keine Aktien in der Entwicklung mehr habe, kann ich nicht wirklich beurteilen, wie blumig die Versprechen Microsofts sind. Das letzte Mal, dass mir Microsoft da was 'vom Pferd erzählt hat', war auf der BASTA 2005 oder 2006 (Entwicklerkonferenz), wo ich mitnahm, dass die Registrierung für Windows als nicht mehr zeitgemäß für Mobilprogrammierung sterben solle. Klang logisch, was daraus geworden ist, kann jeder an seinem Windows nachsehen.
Wer noch etwas mehr in deutscher Sprache zum Thema .NET 5 nachlesen will, wird einmal bei Heise fündig. Dort bereitet Holger Schwichtenberg das Ganze kurz auf. Und bei Dr. Windows hat Kevin Kozuszek diesen Beitrag zum Thema veröffentlicht. Für mich bleiben unter dem Strich nur folgende Fragen: Was muss ich installieren, damit Programme, die .NET benötigen, auch funktionieren? Wird damit das Chaos mit den diversen .NET Frameworks, die man updaten muss und die für häufigen Ärger sorgen, behoben? Und schafft Microsoft es, die .NET Core 3.x sowie .NET 5.0 Pakete ohne Sicherheitslücken in den Installern auszuliefern und das Zeugs aktuell zu halten. Denn das, was Microsoft mit dem .NET-Framework bereitstellt, ist für mein Gefühl Baustelle mit vielen abbruchreifen Stellen.
Anzeige
Ich kämpfe gerade mit SSL unter Mono. Mono hat eine Zwischenschicht mit einem Provider-Interface in .Net eingezogen. Bei Mono+Ubuntu ist SSL defaultmäßig ausgeschaltet. Bei Mono auf dem Raspi ist defaultmäßig eine managed Implementierung aktiv, die wohl auf Apple-Code basiert, aber nur TLS (1.0) und SSL3 anbietet. HTTPS-Verbindungen funktionieren also nicht zu allen Hosts. Alternativ kann man recht einfach durch Setzen einer ENV-Variablen auf einen BTLS-Stack umschalten, das ist Code basierend auf Googles BoringTLS, einem OpenSSL Fork. Bin mal gespannt, was Microsoft in .Net 5 daraus macht.