Xamarin ist seit vielen Jahren eine beliebte Option für die plattformübergreifende App-Entwicklung. Nun hat es weitere Konkurrenz durch Microsofts ".NET Multi-platform App UI" (MAUI) bekommen. Das Framework ist zwar aus Xamarin.Forms hervorgegangen, verspricht jedoch eine noch einfachere Entwicklung plattformübergreifender Anwendungen.
Ob Sie von Xamarin zu MAUI wechseln sollten, hängt von mehreren Faktoren ab, die wir uns im Folgenden genauer ansehen.
Was ist Xamarin?
Xamarin ist ein Entwicklungs-Framework aus dem Jahr 2011, das die Programmiersprache C# verwendet. Seine Wurzeln reichen jedoch bis ins Jahr 2001 zurück – auf ein Projekt, eine Linux-Version von Microsofts .NET Framework zu entwickeln.
2016 kaufte Microsoft das Unternehmen Xamarin zusammen mit dem gleichnamigen SDK. Xamarin wurde daraufhin Teil von Microsoft Visual Studio und wechselte zur Open-Source MIT-Lizenz.
Mit Xamarin.Forms können Sie Apps in C# für Android, iOS, macOS und Windows mit einer gemeinsamen Code-Basis schreiben. Mit einigen zusätzlichen Anpassungen in den plattform-spezifischen Programmiersprachen ist es möglich, eine nahezu native Leistung zu erzielen. Das macht es zu einer interessanten Alternative zu anderen plattformübergreifenden Frameworks wie Flutter und React Native.
Vor kurzem wurde Xamarin.Forms in das .NET MAUI-Framework von Microsoft integriert.
Was ist .NET MAUI?
Mit .NET MAUI möchte Microsoft die plattformübergreifende App-Entwicklung noch einfacher machten. Wie Xamarin ermöglicht das neue Open-Source-Framework Entwickler:innen die Erstellung nativer Benutzeroberflächen und Anwendungen für iOS, Android, macOS und Windows unter Verwendung einer gemeinsamen Code-Basis.
MAUI verspricht jedoch gegenüber Xamarin.Forms eine bessere Leistung, höhere Produktivität und optimierte Entwicklungsabläufe. Es basiert auf .NET 6, das über alle Plattformen hinweg eine verbesserte Leistung und mehr Funktionen bietet.
Das Framework wurde offiziell im Jahr 2022 veröffentlicht und soll Xamarin bis Mai 2024 vollständig ersetzen. Zu diesem Zeitpunkt plant Microsoft, den Support für alle Xamarin-SDKs einzustellen.
Unterschiede zwischen Xamarin.Forms und .NET MAUI
Obwohl es sich bei .NET MAUI um einen Nachfolger von Xamarin.Forms handelt, gibt es einige wichtige Unterschiede zwischen den derzeit noch nebeneinander existierenden Frameworks.
Xamarin.Forms | .NET MAUI |
---|---|
Ein Projekt pro Plattform | Ein Projekt für alle Plattformen |
MVVM-Architektur | MVU-Architektur |
Workarounds für den Zugriff auf native Ressourcen | Direkter Zugriff auf native Plattform-APIs |
UWP UI (gekoppelt an Windows-Veröffentlichungen) | WinUI (häufigere Updates) |
Ein Projekt für alle Plattformen
Beim Einsatz von Xamarin müssen Entwickler:innen für jede Zielplattform (Android, iOS, macOS und Windows) ein eigenes Projekt erstellen. MAUI hingegen deckt mit einem Projekt alle Plattformen ab. Ressourcen wie Schriftarten und Bilddateien können nun einfach zentral abgelegt werden.
MVU statt MVVM
Model-View-Update (MVU) und Model-View-ViewModel (MVVM) beschreiben Architekturen, durch die die Präsentationslogik einer Anwendung von ihrer Geschäftslogik getrennt wird.
Während das von Xamarin.Forms verwendete MVVM bei Entwickler:innen besser etabliert ist, wird MVU immer beliebter. Grund dafür sind der simplere Aufbau und die Unveränderlichkeit von App-Zuständen. MAUI macht es Entwickler:innen durch die Verwendung von MVU leichter, neue Funktionen zu implementieren, ohne dabei mit anderen Teilen der App in Konflikt zu geraten.
Plattformspezifische APIs
Während Xamarin.Forms APIs bereitstellt, die auf allen Plattformen funktionieren, sind einige plattformspezifische APIs nicht verfügbar oder erfordern Workarounds. Mit MAUI können Entwickler:innen durch verschiedene plattformspezifischen APIs auf native Funktionen zugreifen. Dazu gehören etwa die Nutzung von Gerätesensoren, das Kopieren und Einfügen von Text in die Systemzwischenablage und das sichere Speichern von Daten in Form von Schlüssel-Wert-Paaren.
UWP vs. WinUI
Während Xamarin.Forms auf das UI-Framework UWP zurückgreift, verwendet .NET MAUI stattdessen WinUI. Letzteres ist nicht an Windows-Releases gekoppelt. Das bedeutet, dass Entwickler:innen mit MAUI auf ein generell moderneres, häufiger aktualisiertes UI-Framework zugreifen können.
Sollten Sie von Xamarin.Forms zu .NET MAUI wechseln?
MAUI muss sich noch als plattformübergreifendes Tool bewähren. Die Xamarin-Community hingegen hatte viele Jahre Zeit, sich mit dem Framework ihrer Wahl vertraut zu machen. Das macht es schwer, eine Empfehlung allein auf Grundlage der Framework-Qualität auszusprechen.
Der offizielle Support für Xamarin-SDKs wird jedoch 2024 eingestellt. Daher ist es ratsam, für neue Entwicklungsprojekte .NET MAUI einzusetzen, da eine spätere Migration des Codes eigene Probleme mit sich bringt.
Entwickler:innen bestehender Anwendungen sollten sich ebenfalls möglichst bald mit MAUI vertraut machen. Auch wenn das Ende des offiziellen Supports durch Microsoft nicht das Ende aller Xamarin-Anwendungen bedeutet, ist .NET MAUI eine zukunftssichere Option.
Unser Scanbot .NET MAUI SDK
In Ergänzung unserer Xamarin SDKs stellen wir Versionen für .NET MAUI bereit:
Wenn Sie mehr darüber erfahren möchten, wie Sie von Xamarin auf .NET MAUI umsteigen können, schreiben Sie uns.
Zeit für ein kleines Projekt?
Versuchen Sie, unsere Beispiel-App in Ihr .NET MAUI-Projekt zu integrieren!
FAQs
Wie wirkt sich der Übergang von Xamarin zu .NET MAUI auf die bestehende Xamarin-Community und die Verfügbarkeit von Community-generierten Ressourcen und Support aus?
Der Übergang von Xamarin zu .NET MAUI zielt darauf ab, die Xamarin-Community voranzubringen und das Ökosystem durch robusteren Support und Ressourcen zu verbessern. Das Engagement von Microsoft gewährleistet einen reibungslosen Migrationspfad mit aktualisierter Dokumentation und Tools.
Gibt es konkrete Anwendungsbeispiele oder Fallstudien, in denen .NET MAUI erfolgreich implementiert wurde und die die Vorteile gegenüber Xamarin hervorheben?
Zwar gibt es noch nicht viele Fallstudien, aber die Einführung von .NET MAUI spiegelt das Ziel von Microsoft wider, ein moderneres Framework für die plattformübergreifende Entwicklung bereitzustellen, das möglicherweise eine bessere Leistung und ein einheitliches Entwicklungserlebnis im Vergleich zu Xamarin bietet.
Welche Lernressourcen und Entwicklungstools stehen zur Verfügung, um Entwickler:innen die Migration von Xamarin zu .NET MAUI zu erleichtern?
Microsoft und die Developer-Community haben umfassende Leitfäden, Tutorials und Dokumentationen veröffentlicht, um den Übergang von Xamarin zu .NET MAUI zu erleichtern. Dabei liegt der Schwerpunkt auf den Unterschieden und neuen Funktionen, die Entwickler:innen bei der effizienten Einführung der neuen Plattform unterstützen.