Flutter versus .NET MAUI

Es gibt diverse mobile Frameworks auf dem Markt, die es Entwicklern ermöglichen, mobile Apps zu realisieren. Auch Frameworks, welche versprechen, über Plattformen hinweg (im wesentlichen Android und iOS), eine einheitliche Lösung zu erstellen.

In diesem Beitrag möchten wir die beiden Entwicklungsframeworks Xamarin/.NET MAUI von Microsoft sowie Flutter von Google kurz beleuchten. Zudem möchten wir erklären, weswegen wir uns als langjähriger Microsoft Partner und Spezialist in der .NET Entwicklung dennoch für Flutter entschieden haben.

Xamarin / MAUI

Seit einigen Jahren gibt es Xamarin, ein Framework aus dem Hause Microsoft. Mit diesem lassen sich im wesentlichen IOS und Android Anwendungen plattformübergreifend entwickeln. Der Vorteil von Xamarin für unsere Zwecke ist in erster Linie die Tatsache, dass Xamarin auf .NET / C# basiert. Unsere .NET Entwickler können also in ihrer bekannten Programmiersprache entwickeln, das Framework übersetzt den Code dann für die jeweilige Zielplattform.

Der Nachfolger bzw. die Erweiterung von Xamarin ist .NET MAUI, für Multiplatform App UI. MAUI ermöglicht nicht nur die Entwicklung von mobilen Apps für iOS und Android, sondern auch von Desktop Apps. MAUI ist somit ein technisch sehr mächtiges Konstrukt, welches hervorragend in unser Techstack passen würde.

Das Problem ist jedoch, dass das Microsoft Framework noch nicht finalist, sondern sich immer noch in der Beta Phase befindet und auch nur für die kommende .NET Version ausgelegt ist. Es kommt als Tool für uns daher nicht in Frage, da wir unseren Kunden stabile Produktionslösungen bieten wollen. Das ist mit einer Beta so nicht gegeben.

Flutter

Uns erreichten immer öfter Anfragen von Kunden, eine App für sie mit Flutter zu entwickeln. Da wir zwar in erster Linie Microsoft Technologien nutzen, aber immer offen für Neues sind, haben wir uns Flutter genauer angesehen.

Flutter ist Googles Gegenentwurf und für unsere Zwecke (als cross mobile platform) ähnlich wie Xamarin/MAUI. Und mit Flutter lassen sich seit Juli nicht nur mobile Apps sondern auch Desktop Anwendungen entwickeln.

Fast eine halbe Million Apps verwenden Flutter, es wurde in kürzester Zeit zum beliebtesten plattformübergreifenden UI-Toolkit (Quelle: it-intouch und Statista).

Der Nachteil war in unseren Augen zunächst, dass Flutter auf einer anderen Programmiersprache basiert, nämlich die hauptsächlich von Google entwickelte Sprache Dart. Da Dart allerdings an C# angelehnt ist, wollen wir uns der Herausforderung stellen und im diesjährigen VIALUTIONS Summercamp als Tool für uns testen und Flutter als neue Technologie etablieren. Wir konnten schon einige unserer Entwickler dafür begeistern.

Technologisch steht Flutter auf besseren (da jüngeren) Füssen, .NET MAUI schleppt die Vergangenheit und Nachteile von Xamarin weiterhin mit sich herum.

Flutter hat für uns das Potential, neben .NET und Typescript die dritte Technologie zu werden, die wir in unserem Techstack integrieren.