.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 wi
rkt 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 wohlgeme
rkt nur auf den Desktop unter
Linux. In
.NET 6 kann man wie in den "Core"-Vorgängern Konsolen- und Webanwendungen unter
Linux betreiben.