© GoodStudio/Shutterstock.com
Ausblick auf .NET 6

One .NET ist auf dem Weg


Mit .NET 6 kommt nicht nur die ursprünglich schon für .NET 5 geplante Vereinheitlichung „One .NET“, sondern es wird auch neue Anwendungsarten und weitere Verbesserungen für die Entwickler geben.

Der Nachfolger von .NET 5.0 soll im November dieses Jahres erscheinen und – wie in der Einleitung schon geschrieben – offiziell nur noch „.NET 6“, also ohne „.0“, heißen, wie aus einem Blogeintrag des Program Manager Richard Lander hervorgeht [1]. Microsoft hält sich aber selbst noch nicht daran, wie man auf der .NET-6-Downloadseite [2] in Abbildung 1 unschwer sieht. Zum Zeitpunkt der Erstellung dieses Beitrags sind dort Preview 1 und 2 verfügbar. Bis zur Auslieferung dieses Heftes wird es aber eine oder zwei weitere Previews geben. Wie bisher gibt es drei Runtimes (Konsole, Desktop und ASP.NET Core) sowie ein monolithisches SDK. Von der geplanten Modularisierung des SDK sieht man erste Ansätze, wenn aufgefordert wird, Workloads für Android und iOS nachzuinstallieren [3]. Bis zum fertigen Release soll man die Workloads direkt über den .NET-SDK-Befehl dotnet install beziehen können.

Neu bei den Runtimes für Konsole und ASP.NET Core ist die Unterstützung für den neuen ARM-64-basierten Apple-Chip M1 alias Apple Silicon. Während Microsoft in den Blogeinträgen [4] und [5] immer nur von Apple Silicon spricht, erscheint die neue Runtime in der Liste der Downloads unter macOS/Arm64.

schwichtenberg_dotnet6_previews_1.tif_fmt1.jpgAbb. 1: Übersicht über SDK und Runtimes in .NET 6 Preview 2 [2]
schwichtenberg_dotnet6_previews_2.tif_fmt1.jpgAbb. 2: Aufbau .NET 6

Wie bisher laufen Windows Forms und WPF nur auf Windows. Daran wird sich auch in .NET 6 nichts ändern. Das gilt auch für die kommende Windows UI Library 3 (WinUI 3), dem designierten Nachfolger von UWP und WPF. Microsoft geht in .NET 6 das Thema Cross-Platform (Abb. 2) aus zwei Richtungen an:

  1. Das .NET Multi-Platform App UI (MAUI) ist der Nachfolger von Xamarin.Forms und wird auf Android, iOS, Windows und macOS laufen. Linux ist vorerst ausgeklammert, aber in Diskussion [6]. Das UI wird hier weiterhin durch XAML beschrieben.

  2. Blazor Desktop wird eine hybride Lösung sein: HTML UI verpackt in eine Desktopanwendung (vgl. den Ansatz von GitHubs Electron).

MAUI

Microsoft hatte auf der Build-Konferenz im Mai 2020 angekündigt, das im Jahr 2016 zugekaufte Produkt Xamarin ganz in die aktuelle .NET-Welt zu integrieren. So soll die App-Entwicklung zukünftig die gleichen Werkzeuge aus dem .NET 6 SDK sowie die gleiche Klassenbibliothek wie der Rest von .NET 6 verwenden (Abb. 2). Im Hintergrund wirkt freilich in einigen Anwendungsarten weiterhin eine auf Mono basierende Runtime, wovon der Entwickler aber gar nichts mehr merken soll. Die Integration wird von Umbenennungen begleitet: Aus Xamarin.iOS wird „.NET for iOS“, aus Xamarin.Android „.NET for Android“ und aus Xamarin.Forms wird „.NET Multi-Platform App UI“ (MAUI). Zusammenfassend spricht Microsoft von .NET 6 Mobile [3]. Entsprechend gibt es nun neue Target Frameworks: net6.0-ios und net6.0-android. Seit .NET 6 Preview 2 können App-Entwickler nun erste einfache .NET-6-Mobile-Projekte für Android, iOS und Mac Catalyst auf Basis des .NET 6 SDK erstellen. Auf GitHub [3] sind Beispiele zu sehen.

Während bisher in Xamarin neben dem Shared Code für jede Zielplattform ein sogenanntes Kopfprojekt notwendig war, kann der App-...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Gewinner-Teams

Wir bieten Lizenz-Lösungen für Teams jeder Größe: Finden Sie heraus, welche Lösung am besten zu Ihnen passt.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang