MIt dem .NET Standard 2 entsteht ein Fundament für alle .NET-Frameworks

.NET Standard 2.0 kurz vorgestellt – Achtung: Work in Progress!
Kommentare

Spätestens seit der Veröffentlichung der ersten Version von .NET Core 1.0 und ASP.NET 1.0 im Juni ist klar, dass Microsoft es ernst meint mit seinem modularisierten Open-Source-Framework für jede Plattform. Damit kommt aber auch die nahe liegenden Frage auf, wie man zwischen .NET Core und dem klassischen .NET-Framework wenigstens ein Minimum an Kompatibilität herstellt.

Die Antwort darauf ist der .NET Standard. Aktuell liegt er in Version 1 vor, aber an Version 2 wird fleißig und parallel zur Entwicklung von .NET Core gearbeitet. Immo Landwerth, Program Manager im .NET-Team von Microsoft, stellt den neuen Standard auf dem .NET Blog kurz für den eiligen und ausführlich für den interessierten Entwickler vor.

.NET Standard

Die .NET Standard Bibliothek soll allen Versionen von .NET zugrunde liegen und bietet dazu ein Set von APIs, die nötig sind, um .NET Code über mehrere Plattformen zu teilen. Das Ziel ist es, Entwickler alle notwendigen APIs zur Entwicklung von Desktop-Anwendungen, mobilen Apps und Spielen und auch Cloud-Services zur Verfügung zu stellen. Auf lange Sicht soll damit die aktuelle Fragmentierung des .NET Frameworks, wie in .NET Framework 4.6, .NET Compact Framework oder .NET Core beendet, und eine kommende, erneute Fragmentierung verhindert werden.

Das Ganze ist offensichtlich keine einfache Angelegenheit, daher hat Immo Landwerth die Ziele wie folgt kurz zusammengefasst – der Fachmann spricht von der TL;DR-Version:

  • .NET Standard ist ein Set von APIs, das alle .NET Plattformen implementieren müssen. Dadurch werden die .NET Plattformen vereinheitlicht und eine zukünftige Fragmentierung verhindert.
  • .NET Standard 2.0 wird von .NET Framework, .NET Core und Xamarin implementiert. Dadurch erhält .NET Core zahlreiche schon existierende APIs, die bisher vermisst wurden.
  • .NET Standard 2.0 enthält Kompatibilitätsanpassungen für .NET Framework Binaries, wodurch das Set von Bibliotheken, die aus .NET Standardbibliotheken referenziert werden können, stark erhöht wird.
  • .NET Standard wird Portable Class Libraries beim Erstellen von Multi-Plattform-.NET-Bibliotheken ersetzten.

Im Bild lässt sich das Ziel noch etwas einfacher darstellen. Die aktuelle Situation sieht so aus:

.net standard aktuell

Die Situation heute (© Microsoft)

Die Zielvorstellung:

.net standard in zukunft

Die Zielvorstellung (© Microsoft)

Eine Bibliothek für alle und alles

Wer wissen will, wie das Ganze im Detail funktionieren soll, ist eingeladen sich den gesamten Blogbeitrag anzusehen und sich im Idealfall sogar an der Entwicklung zu beteiligen. Da das Projekt auf Github zu finden ist, kann man sich jeder Zeit über den Stand informieren und sich selbst mit Vorschlägen einbringen. Wie bei „work in progress“-Projekten üblich, werden sich sicherlich regelmäßig auch APIs ändern, hinzukommen oder rausfallen.

Letztendlich ist es der Wunsch nach Konsistenz und einem stabilen Fundament für die Cross-Plattform-Entwicklung, die die Entwicklung des Standards treiben. Auf dem Weg dahin sind noch viele Entscheidungen zu treffen, beispielsweise wie mit plattformspezifischen APIs umgegangen wird, die nicht in das Standardmodell passen. Hoffen wir im Interesse der Entwickler, dass es dem .NET-Team gelingt, das Ziel technisch zu erreichen und die Entwickler ins Boot zu holen, um den Standard und seine Vorteile auch zu nutzen.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -