.NET for Mobile

Eintrag zuletzt aktualisiert am: 06.10.2021

.NET for Mobile ist ab .NET 6 der neue Name für "Xamarin" (die Entwicklung mobile Anwendungen mit .NET)

Microsoft hatte auf der BUILD-Konferenz im Mai 2020 angekündigt, das im Jahr 2016 zugekauft 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 und die gleiche Klassenbibliothek verwenden wie der Rest von .NET 6. Im Untergrund wirkt freilich bei .NET Mobile (ebenso wie bei Blazor WebAsssembly) weiterhin eine auf Mono-basierende Runtime – davon soll der Entwickler aber gar nichts mehr merken.

Die Integration wird begleiten von Umbenennungen: 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", vgl. https://github.com/dotnet/net6-mobile-samples. Entsprechend gibt es nun neue Target Frameworks: net6.0-ios und net6.0-android.

Während bisher in Xamarin neben dem Shared Code für jede Zielplattform ein sogenanntes Kopf-Projekt notwendig war, kann der App-Entwickler nun aus einem einzigen Projekt heraus unmittelbar für verschiedene Plattformen kompilieren ("single, multi-targeted Application Project"). Ein MAUI-Projekt referenziert das Paket Microsoft.Maui und listet die gewünschten Target Frameworks auf, z.B. "net6.0-android;net6.0-ios;net6.0-windows". Im Projekt sind plattformspezifisches XAML, plattformspezifischer Programmcode und plattformspezifische Ressourcen möglich. Zum Übersetzen verwendet man Visual Studio oder die Kommandozeile (dotnet build HelloMaui -t:Run -f net6.0-android)

Erneut vertagt - Erscheinen erst Mitte 2022

Mit Hinweis auf die Pandemie vertagte Microsoft die Zusammenführung zu "One .NET" auf .NET 6. Hier sollte die Mono-Runtime und die darauf aufbauenden Xamarin-Apps in den modernen .NET-Entwicklungszweig integriert werden. Neue Namen wurden vergeben: die plattformspezifischen Teile von Xamarin sollten fortan .NET for iOS und .NET for Android hießen. Der Nachfolger der Cross-Platform-Lösung Xamarin Forms wurde .NET Multi-Platform App UI (.NET MAUI) getauft.

Im September 2021 gab es dann jedoch die Ankündigung, dass die Xamarin-Nachfolger auf das zweite Quartal 2022 vertag sind. Ob es dann ein ".NET 6.1" oder einen anderen Namen geben wird, ist noch nicht bekannt. Wohl sicher ist aber, dass zumindest in der ersten integrierten Version der Linux-Desktop nicht als Platform unterstützt sein wird. Dies bezieht sich wohlgemerkt nur auf den Desktop unter Linux. In .NET 6 kann man wie in den "Core"-Vorgängern Konsolen- und Webanwendungen unter Linux betreiben.