en / de
Expertisen
Methoden
Dienstleistungen
Referenzen
Jobs & Karriere
Firma
Technologie-Trends TechCast WebCast TechBlog News Events Academy

Bereit für .NET MAUI?

In der sich dynamischen Welt der mobilen App-Entwicklung verspricht Microsofts .NET MAUI (Multi-platform App UI) eine einheitliche und vereinfachte Lösung für die plattformübergreifender App-Entwicklung.

In diesem Blogpost werfen wir einen Blick auf .NET MAUI, vergleichen es mit seinen Vorgängern Xamarin.Forms und Xamarin Native, untersuchen seine Anforderungen und erläutern, warum die Migration zu .NET MAUI eine kluge Entscheidung ist. Abschliessend betrachten wir die wichtigsten Neuerungen von .NET MAUI mit .NET 8.

Funktionsweise & Unterscheidung

.NET MAUI ist ein modernes Open-Source-Framework, welches erlaubt Apps zu entwickeln, die auf Android, iOS, macOS und Windows laufen. Es ist der Nachfolger zu Xamarin.Forms und ermöglich ebenso grosse Teile vom Code (Business-Logik sowie UI) zwischen den Plattformen zu teilen. Dadurch kann der Implementationsaufwand gegenüber separat entwickelten Apps enorm reduziert werden.

Auf den Mobilen Plattformen sowie auf macOS wird weiterhin die Mono Runtime zur Ausführung genutzt. Im Gegensatz zu Xamarin.Forms wird aber nicht mehr auf Xamarin.iOS bzw. Xamarin.Android aufgebaut, sondern auf die plattformspezifischen .NET-Frameworks «.NET for iOS» bzw. «.NET for Android». Diese sind seit .NET 6 die Weiterentwicklung von Xamarin Native. Sie sind ebenfalls dem .NET-Release-Zyklus unterstellt und seit Neuem in der Version von .NET 8 verfügbar.

Unterschied zwischen Xamarin und .NET MAUI Architektur

Unterschied zwischen Xamarin und .NET MAUI Architektur

Wie von Xamarin.Forms gewohnt, kann auch mit .NET MAUI auf alle nativen Gerätefunktionen zurückgegriffen werden wie GPS, Bluetooth und Beschleunigungssensoren. Es bietet dieselben Funktionen wie eine rein native Entwicklung.

Support & Kompatibilität

Der Support für Xamarin wird am 1. Mai 2024 eingestellt, was Xamarin.Android, Xamarin.iOS und Xamarin.Forms betrifft. Dies bedeutet, dass es nach diesem Datum keine neuen Xamarin SDKs mehr geben wird. Daher werden Android 14 und iOS 17 die letzten Betriebssystemversionen sein, die von Xamarin vollständig unterstützt werden.

Dabei ist es wichtig zu wissen, dass Google sowie Apple vorgeben, welche Betriebssystemversion eine App mindestens unterstützen muss, damit sie PlayStore bzw. Apple Store verteilt werden kann. Betroffen sind neue Apps aber auch Updates für bestehende Apps. Zurzeit muss mindestens Android 13 bzw. iOS 16 unterstützt werden. Beide Vorgaben werden nächstes Jahr weiter angehoben.

Eine Migration auf .NET MAUI wird somit erforderlich, um weiterhin App Updates zu verteilen oder um die neusten Features von Android bzw. iOS nutzen zu können.

Wie aufwendig ist eine Migration?

Der Aufwand einer Migration hängt von verschiedenen Faktoren ab.

Die Wichtigsten sind:

Weitere Gründe für eine Migration zu .NET MAUI

Future-Proofing

Die Migration auf .NET MAUI ist nicht nur notwendig, um den Support und die Kompatibilität mit Android und iOS aufrechtzuerhalten, sondern ermöglicht auch die Nutzung der neuesten Features dieser Plattformen. Auch kommt man in den Genuss der neusten .NET-Features, stark erhöhte Performance und Tooling-Verbesserungen. .NET 8 ist ausserdem ein LTS-Release (Long Term Support) und wird bis November 2026 unterstützt.

Performance

.NET MAUI wird kontinuierlich optimiert und nutzt die neusten Leistungsoptimierungen von .NET 8, was sich in kürzeren Startzeiten, kleineren App-Grössen und einem optimierten Memory-Footprint zeigt. Insbesondere die Bestrebungen bezüglich Ahead-of-time Kompilierung (AOT) versprechen in Zukunft weitere Performance-Verbesserungen. Schon jetzt kann mit dem aktuell noch experimentellen NativeAOT Feature unter iOS eine Halbierung der App-Grösse und eine 50% schneller Startzeit beobachtet werden.

Erleichterte Entwicklung

Die Entwicklung mit .NET MAUI bietet verschiedene Erleichterungen verglichen mit Xamarin. Zum Beispiel erleichtert die neue «Single Project Structure» die Verwaltung von Ressourcen. Schriftarten, Grafiken und Icons müssen nicht mehr pro Plattform einzeln verwaltet werden. Zudem entfällt dank SVG-Support auch die Aufbereitung von Grafiken für verschiedenste Auflösungen.
Wollte man bei einer Plattform spezifische UI-Anpassungen vornehmen, war dies mit Xamarin durch CustomRenderer ermöglicht. Diese wurden in .NET MAUI durch Handler ersetzt und erlauben einen einfacheren Zugriff auf die nativen Controls und benötigen weniger Boilerplate-Code.
Auch das Tooling rund um die Entwicklung erfährt immer wieder Verbesserungen. Etwa die Hot-Reload-Funktion, welche schnellere Feedback-Loops während der Entwicklung erlaubt. Neuerdings ist zusätzlich ein Live Property Explorer dazu gekommen, welcher das Inspizieren vom UI während der Laufzeit vereinfacht.
Als weiteres Beispiel kann ein neuer Roslyn Analyzer genannt werden, welcher via statischer Code-Analyse beim Aufspüren von möglichen Memory-Leaks hilft.

Fazit

Wenn Sie Xamarin-Apps im Einsatz haben, ist es ratsam, sich jetzt mit der Migration zu .NET MAUI zu beschäftigen, um zukünftige App-Updates sicherzustellen und von den Verbesserungen in .NET 8 zu profitieren. Die rechtzeitige Migration vermeidet ungeplante, stressige Zwangsmigrationen aufgrund von Sicherheitslücken oder Änderungen in den Store-Richtlinien. Zudem wurden mit dem neuen .NET 8 Release diverse Stabilisierungen umgesetzt und das Tooling weiter verbessert, um die Entwicklung zu vereinfachen.

Kommentare

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Newsletter - aktuelle Angebote, exklusive Tipps und spannende Neuigkeiten

 Jetzt anmelden
NACH OBEN
Zur Webcast Übersicht