Flutter vs. Xamarin/.Net MAUI - Ein Vergleich der Entwicklungsframeworks


In diesem Blogbeitrag möchten wir die Unterschiede zwischen den Entwicklungsframeworks Flutter (von Google) und Xamarin (von Microsoft) gegenüberstellen, um allen Interessenten die Entscheidung für das nächste Entwicklungsprojekt zu vereinfachen. Flutter und Xamarin sind beides plattformübergreifende Entwicklungsframeworks für mobile Anwendungen.
Die beiden größten Unterschiede zwischen Xamarin und Flutter sind die verwendeten Sprachen und die Art, wie die Benutzeroberfläche gerendert wird. In Xamarin wird die Benutzeroberfläche mithilfe von XAML und C# implementiert. In Flutter werden sowohl die Logik als auch die gesamte Benutzeroberfläche mit der modernen Programmiersprache Dart umgesetzt. Ebenso werden Grafiken und Animationen in Flutter von der Skia-Rendering-Engine in Echtzeit auf den Bildschirm gezeichnet. Die Xamarin-Technologie ist hingegen langsamer, da sie die nativen Steuerelemente erst übersetzen muss. Neben einer veralteten Programmiersprache hat Xamarin zwei weitere Nachteile gegenüber Flutter.
1. Benutzeroberfläche
Bei Xamarin sorgt eine einzelne freigegebene Codebasis nicht dafür, dass die Benutzeroberfläche auf verschiedenen Plattformen gleich aussieht. Der einfache Grund dafür ist, dass Xamarin das geschriebene XAML einer plattformspezifischen Implementierung zuordnet. Bei einfachen UI-Elementen funktionieren diese Steuerelemente meistens ohne Probleme. Möchte man komplexere Elemente hinzufügen (z. B. Farbverläufe, Animationen, Schatten, Rahmen usw.), müssen benutzerdefinierte Steuerelemente implementiert werden.
2. „Renderer“-Problematik
Wenn Xamarin-Anwendungen in einem individuellen Design erstellt werden sollen, muss dafür ein „benutzerdefinierter Renderer“ geschrieben werden. Abgesehen von der Tatsache, dass das Schreiben von plattformspezifischem Code in einer plattformübergreifenden Anwendung in erster Linie den Zweck einer plattformübergreifenden Lösung zunichtemacht, ist es zudem sehr aufwendig diese Renderer zu schreiben. Darüber hinaus kann ein benutzerdefinierter Renderer nicht in der Muttersprache Swift oder Kotlin geschrieben werden, sondern muss in C# erstellt werden.
Neben diesen Nachteilen, die die Entwicklung von Xamarin mit sich bringt, sprechen auch folgende Punkte für eine App Entwicklung mit Flutter:
3. Kosten
Die Entwicklung mit Xamarin ist teurer als mit Flutter. Der Grund dafür, dass Xamarin teuer ist, liegt zum Einen in den Lizenzkosten der Microsoft Visual Studio IDE. Zum Anderen an dem besseren „Code-Sharing“ von Flutter über die verschiedenen Betriebssysteme hinweg. Dies spart Aufwände besonders bei der individuellen App Entwicklung, was die Gesamtkosten eines Projekts entsprechend schlank hält im Gegensatz zu Xamarin-Projekten.
Flutter ist somit die beste verfügbare Option, wenn das Budget des Projekts verhältnismäßig niedrig ist. Die Projektkosten lassen sich generell senken, wenn für ein Projekt passende Fördermaßnahmen genutzt werden. Um das richtige Förderprogramm für ein App-Projekt zu finden, haben wir ein Whitepaper veröffentlicht, das alle möglichen Fördermaßnahmen verständlich erklärt.
Falls Sie einen Blogbeitrag bevorzugen haben wir alternativ auch einen ausführlichen Blogbeitrag zum Thema Förderprogramme für Digitalisierung erstellt, der weitere Informationen zu möglichen Förderprogrammen beinhaltet.
4. Popularität
Fast eine halbe Million Apps verwenden Flutter! Flutter wurde in kürzester Zeit zum beliebtesten plattformübergreifenden UI-Toolkit, was auch die Analyse-Daten von statista belegen:

Xamarin verliert hingegen mit jedem Jahr Marktanteile, nicht nur im Vergleich zu Flutter sondern auch anderen Frameworks wie z.B. React Native. Dies ist jedoch auch damit zu begründen, dass Xamarin nicht mehr besonders intensiv von Microsoft supported wird und seinen Fokus auf den Xamarin-Nachfolger .Net MAUI legt. Ein Wechsel auf .Net MAUI ist theoretisch möglich, jedoch befindet sich .Net MAUI noch in der Entwicklungsphase, sodass nicht alle Features zur Verfügung stehen. In dieser frühen Phase muss mit vielen Kinderkrankheiten gerechnet werden, was zu unnötig mehr Aufwand in neuen Entwicklungsprojekten führen könnte.
5. Ein Code für alle Plattformen
Einer der größten Vorteile von Flutter ist, dass der Code fast vollständig auf allen Plattformen genutzt werden kann, was Zeit und Mühe für einen Entwickler spart. Bei Xamarin besteht hier die Herausforderung, dass nicht immer ein Code für alle Plattformen genutzt werden kann und es nicht selten vorkommt, dass individuelle Anpassungen pro Plattform mit verschiedenen Programmiersprachen durchgeführt werden müssen, damit Applikationen richtig funktionieren.
Fazit
Flutter hat besonders in den letzten Jahren Xamarin ganz klar den Rang als populärstes Entwicklungsframework abgelaufen. Zwar bieten Xamarin und .Net MAUI durchaus auch noch Vorteile gegenüber Flutter, wie z.B. eine bessere Dokumentation oder auch teilweise bessere Entwicklungstools. Dennoch überwiegen die Vorteile von Flutter wenn man eine App programmieren lassen möchte. Deshalb sind auch wir von der Entwicklung mit Xamarin nicht auf .Net MAUI sondern auf Flutter gewechselt. In unserem neuen Blogbeitrag dieser Reihe: Flutter vs. React Native – Gemeinsamkeiten und Unterschiede der Entwicklungsframeworks finden Sie weitere hilfreiche Informationen zum Thema. In einem weiteren Beitrag vergleichen wir Flutter und FlutterFlow, um Ihnen die Auswahl für eine passende Lösung zu erleichtern.
Häufige Fragen beim Vergleich Flutter vs. Xamarin/.Net MAUI
Gibt es Unterschiede bei der Performance von Flutter im Vergleich zu .Net MAUI?
Flutter bietet aufgrund der Verwendung der Skia-Rendering-Engine eine hervorragende Performance, insbesondere bei der Darstellung von Animationen und benutzerdefinierten UI-Elementen. .Net MAUI hat eine solide Performance, leidet aber in einigen Fällen an der Notwendigkeit, plattformspezifischen Code zu integrieren, was die Entwicklungszeit verlängern kann.
Gibt es Unterschiede in den Entwicklungstools zwischen Flutter und .Net MAUI?
Flutter bietet umfassende Tools wie das Flutter SDK, den Dart Analyzer und die Flutter DevTools, die speziell auf plattformübergreifende Entwicklungen ausgerichtet sind. .Net MAUI hingegen ist stark in die Microsoft Visual Studio IDE integriert, was für Entwickler, die bereits mit diesem Tool arbeiten, von Vorteil ist. Die Tools von Flutter sind jedoch weiter verbreitet und bieten mehr Flexibilität.
Ist es möglich, eine bestehende Xamarin-App auf .Net MAUI oder Flutter zu migrieren?
Ja, sowohl eine Migration auf .Net MAUI als auch auf Flutter ist möglich. Der Aufwand hängt jedoch von der Komplexität der App ab. Eine Migration auf .Net MAUI ist oft einfacher, da es der direkte Nachfolger von Xamarin ist. Wenn jedoch langfristige Zukunftssicherheit und Performance eine Priorität sind, könnte eine Migration zu Flutter sinnvoller sein. Weitere Informationen zum Thema Migration einer Xamarin App finden Sie in unserem Beitrag Wie Sie Ihre Xamarin-App zukunftssicher machen
Wie sieht die Zukunft von .Net MAUI im Vergleich zu Flutter aus?
Während Flutter sich bereits als eines der führenden Frameworks etabliert hat, entwickelt sich .Net MAUI noch weiter und muss sich erst noch im Markt der relevanten Entwicklungsframeworks beweisen. Es wird erwartet, dass Microsoft .Net MAUI in den kommenden Jahren stabilisieren wird. Dennoch bleibt Flutter aufgrund seiner Popularität und stetigen Weiterentwicklung durch Google eine zukunftssichere Wahl.
Ist Flutter oder .Net MAUI besser für die Entwicklung von Desktop-Anwendungen geeignet?
Flutter unterstützt Desktop-Anwendungen auf Windows, macOS und Linux, was es zu einer vielseitigen Wahl für Entwickler macht, die plattformübergreifende Apps über Mobilgeräte hinaus entwickeln wollen. .Net MAUI unterstützt ebenfalls Desktop-Anwendungen, ist jedoch in diesem Bereich noch nicht so ausgereift wie Flutter. Die Wahl hängt oft von den spezifischen Anforderungen des Projekts ab.
Welche Frameworks bieten bessere Integrationsmöglichkeiten für Drittanbieter-Tools?
Flutter bietet eine Vielzahl von Plugins und Bibliotheken, die sich einfach in Projekte integrieren lassen, von Analytics bis hin zu Cloud-Services. Auch die Integration von Google-Diensten wie Firebase ist hervorragend unterstützt. .Net MAUI bietet ebenfalls viele Integrationen, besonders im Microsoft-Ökosystem, jedoch könnte es schwieriger sein, bestimmte Drittanbieter-Tools zu finden oder anzupassen, die nicht auf C# oder .Net basieren.
Welche Vorteile bietet FlutterFlow gegenüber Flutter für die App-Entwicklung?
FlutterFlow ist eine No-Code-/Low-Code-Plattform, die auf Flutter basiert und es ermöglicht, Apps visuell per Drag-and-Drop zu erstellen. Während Flutter mehr Flexibilität und Kontrolle über den Code bietet, eignet sich FlutterFlow besonders für schnelle Prototypen oder einfache Apps, ohne tiefgehende Programmierkenntnisse. Allerdings kann es bei komplexen Projekten Einschränkungen geben, weshalb eine Kombination aus FlutterFlow für das UI-Design und Flutter für erweiterte Funktionen oft eine gute Lösung ist.
Warum ist das Rendering in Flutter effizienter als in .Net MAUI?
Flutter verwendet die Skia-Rendering-Engine, die direkt auf den Bildschirm zeichnet, wodurch Animationen und UI-Elemente sehr performant dargestellt werden. Im Gegensatz dazu setzt .Net MAUI auf native UI-Elemente, die für jede Plattform separat gerendert werden müssen. Dadurch können Verzögerungen auftreten, insbesondere wenn komplexe UI-Designs mit vielen Animationen oder Effekten verwendet werden.
Ist Flutter eine gute Wahl für einen App Relaunch?
Ja, Flutter eignet sich hervorragend für einen App Relaunch, insbesondere wenn eine bestehende App modernisiert und auf mehreren Plattformen gleichzeitig veröffentlicht werden soll. Durch die einheitliche Codebasis für iOS, Android und sogar Web- und Desktop-Anwendungen kann ein Relaunch schneller und kosteneffizienter umgesetzt werden. Zudem ermöglicht Flutter ein flexibles UI-Design und eine hohe Performance, wodurch sich die App an aktuelle Design- und Performance-Standards anpassen lässt.

Florian Trautmann, seit 2006 Geschäftsführer der IT intouch GmbH, gilt als Pionier in der Entwicklung von Apps für Unternehmen seit dem Aufkommen des ersten iPhones 2008. Sein Team hat sich durch innovative Softwarelösungen und erfolgreiche Projekte einen Namen gemacht, darunter namhafte Kunden wie Creditreform, Devolo und DHL.
Weitere Artikel aus unserem Magazin
App programmieren lassen - Alle Infos für Ihr App-Projekt
Auf dieser Seite möchten wir Ihnen neben hilfreichen Tipps auch alle Informationen zu Kosten, Dauer und möglichen Förderungen geben, wenn Sie eine App programmieren lassen möchten.
Flutter Agentur Auswahlkriterien - Warum Sie eine App mit Flutter entwickeln lassen sollten
Hier sind wesentliche Auswahlkriterien, die Ihnen helfen, die optimale Flutter Agentur für Ihre Anforderungen zu finden.
React Native vs Flutter: Unterschiede & Gemeinsamkeiten im Vergleich
In diesem Blogbeitrag möchten wir die Unterschiede zwischen den Entwicklungsframeworks React Native (von meta/Facebook) und Flutter (von Google) gegenüberstellen.