Xamarin versus .NET MAUI
29. Juni 2023 by Marvin

.NET MAUI vs. Xamarin: Die Evolution der plattformübergreifenden App-Entwicklung

Die plattformübergreifende App-Entwicklung hat die Art und Weise revolutioniert, wie Entwickler mobile Anwendungen erstellen. Die Vor- und Nachteile sowie beliebte Frameworks wurden bereits im Artikel "Beliebte Cross-Platform App Development Frameworks" besprochen.

Die Möglichkeit, Code einmal zu schreiben und ihn auf mehreren Plattformen einzusetzen, führt zu erheblichen Zeit- und Kosteneinsparungen. Zwei bekannte Frameworks in diesem Bereich sind .NET MAUI (Multiplatform App UI) und Xamarin, die beide von Microsoft unterstützt werden. Während Xamarin schon seit Jahren eine beliebte Wahl ist, stellt .NET MAUI die nächste Generation der plattformübergreifenden App Entwicklung dar.

In diesem Artikel werden wir die Hauptunterschiede zwischen MAUI und Xamarin untersuchen und verstehen, warum .NET MAUI als die Zukunft der mobilen App-Entwicklung gesehen wird.

Sehen Sie sich unser Docutain SDK für .NET MAUI an
Integrieren Sie hochwertiges Document Scanning, Texterkennung und Datenextraktion in Ihre eigenen Apps. Wenn Sie mehr über das Docutain SDK und seine Pakete erfahren möchten, kontaktieren Sie uns jederzeit per SDK@Docutain.com.

Architektur und Kompatibilität

Xamarin
Xamarin basiert auf dem Mono-Framework, das es Entwicklern ermöglicht, C#-Code zu schreiben und eine gemeinsame Codebasis für mehrere Plattformen zu verwenden. Es bietet Schnittstellen zu nativen APIs, die den Zugriff auf plattformspezifische Funktionalitäten ermöglichen. Die Xamarin-Architektur hat jedoch Einschränkungen, wenn es um Leistung und Flexibilität der Benutzeroberfläche geht. Xamarin.Forms, ein UI-Toolkit innerhalb von Xamarin, versucht, diese Probleme zu beheben, ist aber in Bezug auf die Anpassung und das native Erscheinungsbild unzureichend.

.NET MAUI
Auf der anderen Seite baut das .NET MAUI Framework auf der Grundlage von Xamarin.Forms auf, verfügt aber über eine komplett überarbeitete Architektur. Es führt ein neues Anwendungsmodell ein, das eine bessere Trennung zwischen Benutzeroberfläche und Geschäftslogik, eine verbesserte Leistung und eine erweiterte Unterstützung für moderne Benutzeroberflächenparadigmen bietet. .NET MAUI nutzt die neuesten Funktionen und Erweiterungen von .NET und bietet einen kohärenteren und einheitlicheren Ansatz für die plattformübergreifende Anwendungsentwicklung.

Benutzeroberfläche und Design

Xamarin
Einer der größten Nachteile von Xamarin.Forms sind die begrenzten Optionen zur Anpassung der Benutzeroberfläche und die Schwierigkeiten bei der Umsetzung plattformspezifischer Designs. Entwickler müssen oft auf plattformspezifische Renderer und Anpassungen zurückgreifen, um bestimmte Designanforderungen zu erfüllen. Dies kann zu fragmentierten Codebases und erhöhter Komplexität führen.

.NET MAUI
.NET MAUI geht diese Herausforderung an, indem es ein neues UI-Framework namens MAUI Markup einführt. Es ermöglicht Entwicklern, reaktionsfähige Benutzeroberflächen mit einer einzigen Codebasis zu erstellen. Durch die verbesserte Kontrolle über UI-Elemente und Layouts erleichtert es die Erstellung plattformspezifischer Designs bei gleichzeitiger Wiederverwendbarkeit des Codes. Durch die Einführung eines vereinfachten Styling-Systems wird die UI-Entwicklung weiter vereinfacht.

Leistung und App-Größe

Xamarin
Die Leistung war schon immer ein entscheidender Aspekt der App-Entwicklung, und Xamarin wurde in der Vergangenheit wegen seiner vermeintlichen Leistungseinschränkungen kritisiert. Obwohl Xamarin-Apps nahezu native Leistung liefern können, führte die Notwendigkeit plattformspezifischer Anpassungen oft zu Overhead und Leistungsengpässen.

.NET MAUI
Mit .NET MAUI hat Microsoft die Leistung erheblich verbessert. Durch die Nutzung der AOT-Kompilierung (AOT = ahead of time) und anderer Optimierungen in .NET 7 bieten .NET MAUI-Anwendungen eine verbesserte Leistung und kürzere Startzeiten. Darüber hinaus ermöglicht die Einführung des Single Project Model in .NET MAUI kleinere Anwendungen, indem redundanter Code und Abhängigkeiten eliminiert werden.

Ökosystem und Tooling

Xamarin
Xamarin verfügt über ein ausgereiftes und robustes Ökosystem mit umfangreicher Community-Unterstützung. Es bietet eine breite Palette von Bibliotheken und Plugins von Drittanbietern, die es Entwicklern ermöglichen, vorhandenen Code zu nutzen und die Entwicklung zu beschleunigen. Es lässt sich außerdem nahtlos in Visual Studio und Visual Studio Code integrieren und bietet eine vertraute und leistungsstarke Entwicklungsumgebung.

.NET MAUI
.NET MAUI übernimmt dieses starke Ökosystem und baut darauf auf. Mit verbesserten Werkzeugen und Unterstützung für moderne Entwicklungspraktiken bietet .NET MAUI eine schlankere und effizientere Entwicklungserfahrung. Die einheitliche Projektstruktur von .NET MAUI vereinfacht die gemeinsame Nutzung von Code und reduziert die Komplexität, so dass Entwickler ihre Anwendungen leichter warten und aktualisieren können.


💡 Github Samples

Die Unterschiede in der Codierung der einzelnen Platformen können Sie sehr gut in unseren Github Samples erkennen:

Sollten Sie von Xamarin.Forms auf .NET MAUI wechseln?

.NET MAUI stellt die langfristige Vision von Microsoft für die plattformübergreifende App-Entwicklung dar. Während der Support für Xamarin und Xamarin.Forms am 1. Mai 2024 endet, ist .NET MAUI der empfohlene Ansatz für die Entwicklung plattformübergreifender Anwendungen in der Zukunft.

.NET MAUI wird als .NET-Workload geliefert. Ab .NET 7 richtet sich .NET MAUI nach dem .NET-Veröffentlichungsrhythmus, d. h. .NET MAUI 7.0 wurde mit .NET 7.0 ausgeliefert, .NET MAUI 8.0 wird mit .NET 8.0 ausgeliefert und so weiter.

Die .NET MAUI-Roadmap umfasst Pläne für verbesserte Leistung, erhöhte Produktivität und erweiterte Unterstützung für Plattformen jenseits von iOS, Android und Windows. Daher ist es sinnvoll, sich zumindest mit .NET MAUI als zukunftssicherer Plattform für die plattformübergreifende App-Entwicklung vertraut zu machen. Obwohl es auf dem vorhandenen Wissen von Xamarin.Forms aufbaut, führt es neue Konzepte und Muster ein, die Entwickler möglicherweise lernen müssen.

Den Umstieg von Xamarin auf .NET MAUI unterstützt Microsoft mit Tools und detaillierten Dokumentationen

Sehen Sie sich unser Docutain SDK für .NET MAUI an
Integrieren Sie unseren Dokumentenscanner oder Barcodescanner für .NET MAUI. Das MAUI Scanner SDK kann auch um Texterkennung und Datenextraktion in Ihren Anwendungen erweitert werden. Werfen Sie einen Blick in unsere Dokumentation für Entwickler oder kontaktieren Sie uns jederzeit über SDK@Docutain.com.

Überblick Xamarin versus .NET MAUI

Feature Xamarin .NET MAUI
Architektur Basierend auf Mono-Framework mit gemeinsamer Codebasis Aufbauend auf Xamarin.Forms mit verbesserter Architektur
Aufbau/ Struktur Besteht in der Regel aus separaten Projekten für jede Plattform Einheitliche Projektstruktur für mehrere Plattformen
UI-Flexibilität Begrenzte Anpassungsmöglichkeiten und Schwierigkeiten bei der Umsetzung plattformspezifischer Designs Verbesserte UI-Anpassung und plattformspezifische Designunterstützung
Performance Nahezu native Leistung, aber potenzieller Mehraufwand durch plattformspezifische Anpassungen Verbesserte Leistung durch Optimierungen und AOT-Kompilierung
App Größe App-Größen können aufgrund von redundantem Code und Abhängigkeiten größer sein Geringere Größe der Anwendung durch Beseitigung von überflüssigem Code und Abhängigkeiten
UI-Framework Xamarin.Forms Einführung von MAUI Markup für verbesserte UI-Entwicklung
Ökosystem Ausgereiftes Ökosystem mit umfangreicher Community-Unterstützung und Bibliotheken von Drittanbietern Übernimmt das Xamarin-Ökosystem mit verbessertem Tooling und Support
Ausstattung Integriert mit Visual Studio und Visual Studio Code Verbesserte Werkzeuge und Unterstützung für moderne Entwicklungsverfahren
Zukunft Wird weiterhin unterstützt, aber .NET MAUI wird für die zukünftige Entwicklung empfohlen Microsofts langfristige Vision für die plattformübergreifende Anwendungsentwicklung
Plattform Support iOS, Android, Windows iOS, Android, Windows und zukünftige Pläne für eine erweiterte Unterstützung

Zusammenfassend lässt sich sagen, dass Xamarin zwar eine beliebte Wahl für die plattformübergreifende App-Entwicklung war, .NET MAUI jedoch einen bedeutenden Sprung nach vorn in Bezug auf Architektur, UI-Flexibilität, Leistung und Entwicklererfahrung darstellt. Mit seinen verbesserten Designfunktionen, der gesteigerten Leistung und dem Engagement von Microsoft ist .NET MAUI auf dem besten Weg, das führende Framework für die Entwicklung plattformübergreifender Anwendungen zu werden. Entwickler, die sich die Zukunft der plattformübergreifenden Entwicklung erschließen wollen, sollten .NET MAUI als Framework ihrer Wahl in Betracht ziehen.

Resourcen zum Einstieg in .NET MAUI

Microsoft unterstützt mit umfassenden Ressourcen beim Einstieg

Ihr Kontakt zu Docutain


Erzählen Sie unserem Kollegen Harry Beck, wie das Docutain SDK Sie bei Ihrem Vorhaben unterstützen kann. Wir freuen uns über Ihre Anfrage, telefonisch oder über unser Kontaktformular.