Zurück zu Blogs
dotNEt 5.0 für die Entwicklung aller unterstützten Plattformen: Windows, MacOS und Linux, unter Verwendung desselben Basiscodes

Alles, was Sie über .NET 5.0 wissen sollten

Mit dem Release von .NET 5.0 räumt Microsoft endlich auf in der Welt von .NET. Es gibt nicht länger einen „Core“, ein Framework und eine Runtime-Datei, sondern alles ist ab sofort ineinerPlattform zu finden. Was sollten Sie noch über .NET 5.0 wissen?

Zunächst einmal existiert jetzt wirklich nur noch eine .NET-Version, mit der man für alle unterstützten Plattformen entwickeln kann: Windows, MacOS und Linux, und zwar grundsätzlich mit demselben Quellcode. Das Schreiben plattformspezifischer Software ist weiterhin möglich. Dazu gibt man einfach mit einem Target Framework Moniker im Code an, dass die Software für eine bestimmte (Windows-)Plattform bestimmt ist. So werden in der Runtime automatisch die richtigen APIs verwendet. Für andere Betriebssysteme kommt mit .NET  6 der Target Framework Moniker.

Mobile Apps

Was ist (noch) nicht möglich? Für eine echte einheitliche Plattform darf natürlich die Unterstützung mobiler Betriebssysteme nicht fehlen. Diese Unterstützung für iOS und Android soll ab .NET-Version 6 verfügbar sein, die für Ende des Jahres geplant ist. Bis dahin müssen wir uns noch mit Xamarin und Unity behelfen.

Das Schreiben von Programmen für .NET funktioniert wie gewohnt mit Visual Studio. Zeitgleich mit .NET 5 sind auch C# 9 und F# 5 erschienen. Um beides zu nutzen, braucht man Visual Studio 16.8 (oder neuer) für Windows und die aktuellste Version für MacOS. Wer für den neuen M1-Prozessor von Apple entwickeln will, muss sich gedulden und auf .NET 6.0 warten.

Mit einer einheitlichen Plattform kommt auch eine einheitliche Benutzeroberfläche (UI), was mit Version 5.0 leider noch nicht zu 100 Prozent gelungen ist und ebenfalls erst mit .NET 6.0 wirklich Realität wird. Ab dann sind Projekte möglich, die mit demselben UI auf Windows, Mac, Android und iOS laufen.

Keine eigene Runtime mehr

Eine der besten neuen Funktionen von .NET 5 ist, dass jetzt echte „Einzeldatei“-Apps (single file applications) erstellt werden können. Alle Dateien, Abhängigkeiten und die Runtime stecken in einer einzigen Datei – und zwar optional. Wer will, kann immer noch Apps mit einzelnen Dateien veröffentlichen. Aber konnte man Einzeldatei-Apps nicht schon mit .NET 3.1 erstellen? Das ist doch nicht neu? Doch! Zwar wurde damals alles als eine Datei bereitgestellt, auf dem Computer des Users wurde es allerdings anschließend entpackt, in temporären Ordnern gespeichert und dann ausgeführt. Ab .NET 5.0 ändert sich die interne Struktur der App, die man erstellt. Und die wird dann direkt und ohne erkennbare Leistungseinbußen ausgeführt.

Mit den neuen Versionen verschwinden zwangsläufig auch Features. In diesem Fall hauptsächlich Funktionalitäten, die man bisher aus den einzelnen Frameworks kannte. So werden beispielsweise Web Forms nicht länger unterstützt. Wirklich überraschend ist das nicht, denn .NET Core hat Web Forms nie unterstützt. Die Vermutung lag daher nahe, dass sich Web Forms zusammen mit dem .NET-Framework verabschieden würde.

Auch die Zeit des Windows Communication Foundation Framework ist vorbei. Verständlich, da das plattformspezifische Framework in einer plattformunabhängigen Umgebung wie .NET 5 einfach nichts zu suchen hat. Aus demselben Grund ist auch Windows Workflow Foundation in .NET 5 nicht mehr dabei.

Noch mal auf einen Blick:

  • .NET 5.0 – eine wirklich einheitliche Plattform für unterschiedliche Betriebssysteme

  • Unterstützung für iOS und Android (im weiteren Jahresverlauf)

  • Visual Studio kann weiter genutzt werden

  • Zeitgleich mit .NET 5 sind auch C# 9 und F# 5 erschienen

  • Keine eigene Runtime mehr, sprich Einzeldatei-Apps

Es gibt noch einiges, das erst in der nächsten Version von .NET wirklich umgesetzt wird. Doch wer nicht an alten APIs hängt, für den lohnt sich der Umstieg auf .NET 5.0 schon jetzt!