.NET Standard 2.1 bindet rund 3000 neue APIs ein
Der .NET Standard 2.1 richtet sich an Entwickler, die .NET Core nutzen. Diejenigen, die das "alte" .NET verwenden, suchen weiterhin Hilfe beim Vorgänger.
- Alexander Neumann
Microsoft hat den sogenannten .NET Standard in Version 2.1 freigegeben. Beim Standard handelt es sich um eine technische Vorgabe für Programmierschnittstellen (APIs), die es ermöglichen soll, dass sich Programmcode zwischen verschiedenen Implementierungen der .NET-Plattform austauschen lässt. Entwickler, die eine Klassenbibliothek auf Basis einer Version des .NET Standard realisieren, können sicher sein, dass diese Bibliothek auf allen .NET-Implementierungen funktioniert, die diese Version des Standards umsetzen.
Entstanden war der .NET Standard, weil es mittlerweile mit dem klassischen .NET Framework, dem neuen .NET Core und Xamarin mindestens drei Plattformen gibt, mit dessen Standardbibliotheken Entwickler vertraut sein müssen, wenn sie Code schreiben möchten, der auf allen entsprechenden Systemen läuft. Microsoft hatte den .NET Standard im Juni mit der Freigabe von .NET Core 1.0 eingeführt.
Der Standard wächst
Bei .NET Standard zählte Microsoft bereits 32.000 Programmierschnittstellen, in der neuesten Version sind offenbar noch mal 3000 hinzugekommen. Ein guter Teil davon sind wohl neue APIs, während andere bestehende APIs sind, die zum Standard hinzugefügt wurden, um die .NET-Implementierungen weiter zusammenzuführen.
Da viele der neuen APIs Runtime-Änderungen erfordern, um sinnvoll genutzt zu werden, bleibt das .NET Framework 4.8 auf dem .NET Standard 2.0. Das künftige .NET Core 3.0 sowie kommende Versionen von Xamarin, Mono und Unity werden aktualisiert, um den .NET Standard 2.1 zu implementieren. Dahinter steckt die Entscheidung von Microsoft, die meisten neuen Features künftig nur noch der .NET-Core-Entwicklung zu spendieren und das alte .NET Framework in Hinsicht nur spärlich zu fördern. Das bedeutet im Klartext, dass man mit dem .NET Framework zwar seine alten Anwendungen weiterbetreiben kann, aber es die Innovationen bald nur noch in .NET Core gibt.
Highlights
Die wichtigsten Punkte fasst Immo Landwerth, Programmmanager für .NET bei Microsoft, in der Ankündigung zusammen. Es geht hier zum Beispiel um den mit .NET Core 2.1 eingeführten Array-artigen Typ Span<T>, mit dem sich verwalteter und nichtverwalteter Speicher einheitlich darstellen lässt und der das Slicing ohne Kopieren unterstützt. Weitere Features sind Lightweight Code Generation (LCG), Reflection Emit sowie die Einbindung der APIs zur Unterstützung der SIMD-Befehlssatzerweiterung (Streaming SIMD Extensions) für Intels x86-Architektur.
Wiederum andere Dinge sind ValueTask und ValueTask<T> aus Bereichen, in denen es darum geht, async/await-Funktionen effizienter zu machen. Den genauesten Ăśberblick erhalten Interessierte wohl in der vergleichende Aufstellung der APIs aus .NET Standard 2.1 und .NET Standard 2.0.
Zur Gewährleistung der Praktikabilität des .NET Standard weist Landwerth schließlich auf das Review Board hin, das die API-Ergänzungen beim .NET-Standard genehmigen soll. Der Vorstand besteht aus Vertretern der .NET-Plattform, Xamarin und Mono, Unity und der .NET Foundation und wird von Mono-Schöpfer Miguel de Icaza geleitet. Außerdem mag bei Interesse zur Beteiligung der Blick in das ".NET Standard Governance"-Modell lohnen. (ane)