App-Typen im Vergleich

Cross-Platform-Frameworks im Vergleich

Vergleiche zu diesem Thema enden meistens bei dem Framework, das der Autor selbst einsetzt. Deshalb stehen hier zuerst die nachprüfbaren Merkmale, und danach getrennt davon unsere eigene Wahl mit Begründung.

Kurz gesagt

Ernsthaft zur Wahl stehen heute React Native und Flutter, dazu .NET MAUI in Häusern, die auf C# arbeiten. Der Unterschied zwischen den beiden erstgenannten ist weniger die Leistung als die Bauart: React Native benutzt die Bedienelemente des Systems, Flutter zeichnet eigene. Praktisch entscheidet meist die Sprache, die dein Team schon kann.

Ernsthaft zur Wahl
Zwei bis drei
Entscheidet meistens
Die Sprache
Unsere Wahl
React Native

Der Kern

Zwei Bauarten, nicht fünf Marken

Die Namensliste ist länger als die Zahl der tatsächlichen Ansätze. Wer die zwei Bauarten auseinanderhält, kann die meisten Vergleiche im Netz selbst einordnen.

  • Sie benutzen, was das System mitbringt

    React Native und .NET MAUI erzeugen die tatsächlichen Bedienelemente von iOS und Android. Eine Liste ist dort eine Systemliste. Das fühlt sich pro Plattform richtig an und erbt automatisch, was Apple und Google an Bedienung und Barrierefreiheit ändern.

  • Sie zeichnen alles selbst

    Flutter bringt eine eigene Zeichenschicht mit und malt jedes Bedienelement selbst. Ergebnis: auf beiden Plattformen exakt dasselbe Bild, unabhängig vom System. Das ist ein Vorteil, wenn eine eigene Formensprache zählt, und ein Nachteil, wenn die App sich plattformeigen anfühlen soll.

  • Sie zeigen eine Website in einer Hülle

    Ionic und Cordova betreiben einen eingebetteten Browser. Das ist der kürzeste Weg von einer bestehenden Website zu etwas, das im Store steht, und der längste zu etwas, das sich wie eine App anfühlt.

Übersicht

Die Frameworks nach Merkmalen

Nur Angaben, die sich nachsehen lassen. Leistungsprozente stehen bewusst nicht in dieser Tabelle: die Zahlen, die dazu kursieren, stammen aus keiner nachvollziehbaren Messung.

Cross-Platform-Frameworks nach Sprache, Bauart, Träger und Stand
Cross-Platform-Frameworks nach Sprache, Bauart, Träger und Stand Sprache Bauart Getragen von Stand
React Native JavaScript, TypeScriptBedienelemente des SystemsMeta, dazu eine große CommunityAktiv
Flutter DartEigene ZeichenschichtGoogleAktiv
Ionic mit Capacitor Web-TechnologienEingebetteter BrowserIonicAktiv
.NET MAUI C#Bedienelemente des SystemsMicrosoftAktiv, Nachfolger von Xamarin
Apache Cordova Web-TechnologienEingebetteter BrowserApacheKaum noch in neuen Projekten
Xamarin C#Bedienelemente des SystemsMicrosoftSupport am 1. Mai 2024 beendet

In eigener Sache

Warum wir React Native einsetzen

Das ist unsere Entscheidung für unsere Projekte, keine Rangliste. Die Gründe sind überwiegend organisatorisch, und deshalb halten sie länger als technische.

  • Die Sprache, die euer Team schon kann

    TypeScript läuft bei uns in Web, Backend und App. Entwickler dafür findest du leichter als für Dart oder C#, und Wissen lässt sich zwischen den Projekten mitnehmen.

  • Über den Store hinweg nachbessern

    Mit Expo lassen sich Korrekturen an der JavaScript-Ebene ausliefern, ohne auf eine neue Prüfung im Store zu warten. Für alles, was nicht die native Schicht betrifft, verkürzt das die Wege erheblich.

  • Wir betreiben es selbst

    Unsere eigenen Produkte laufen auf diesem Stack, seit Jahren und im Store. Wir empfehlen nichts, dessen Wartung wir nicht selbst bezahlen.

Einsatzfall

Wann ein anderer Weg passt

  • Flutter, wenn die Oberfläche überall identisch sein soll

    Flutter zeichnet seine Bedienelemente selbst, statt die des Systems zu benutzen. Das ergibt auf beiden Plattformen exakt dasselbe Bild, und es ist die bessere Wahl, wenn eine eigene Formensprache wichtiger ist als das Gefühl der jeweiligen Plattform. Der Preis ist Dart.

  • .NET MAUI, wenn ihr sowieso in C# arbeitet

    Wenn eure Backends in .NET laufen und das Team C# kann, zählt die durchgehende Sprache mehr als die größere Community von React Native.

  • Ionic, wenn es im Kern eine Website ist

    Wenn eure Inhalte sowieso aus dem Web kommen und zusätzlich als App verfügbar sein sollen, ist der eingebettete Browser der kürzeste Weg. Sobald sich die App wie eine App anfühlen soll, ist der Vorteil weg.

FAQ

Häufige Fragen

Welches Framework ist das beste?

Die Frage hat keine allgemeine Antwort, und wer sie gibt, verkauft etwas. React Native und Flutter sind beide tragfähig. Den Ausschlag geben in der Praxis die Sprache, die dein Team beherrscht, und die Frage, wen du in zwei Jahren dafür einstellen kannst.

Was ist der eigentliche Unterschied zwischen React Native und Flutter?

React Native benutzt die Bedienelemente des Systems, Flutter zeichnet eigene. Daraus folgt fast alles Weitere: React Native fühlt sich pro Plattform natürlicher an, Flutter sieht auf beiden Plattformen exakt gleich aus. Dazu kommt die Sprache, TypeScript gegen Dart.

Wie groß sind die Leistungsunterschiede?

Zwischen React Native und Flutter sind sie für gewöhnliche Anwendungen nicht ausschlaggebend. Deutlich wird der Abstand erst zu den Frameworks mit eingebettetem Browser. Wer im Netz auf feine Prozentangaben stößt, sollte nach der Messmethode fragen, meistens gibt es keine.

Ist Xamarin noch eine Option?

Nein. Microsoft hat den Support am 1. Mai 2024 eingestellt. Der Nachfolger ist .NET MAUI. Bestehende Xamarin-Apps sollten dorthin überführt werden.

Kann ich das Framework später wechseln?

Die Oberfläche muss dabei neu gebaut werden, das lässt sich nicht umgehen. Was du retten kannst, hängt daran, wie sauber Geschäftslogik, Datenzugriff und Oberfläche getrennt sind. Wer das von Anfang an trennt, macht aus einem Wechsel ein Projekt statt eine Neuentwicklung.

Kommen Cross-Platform-Apps an alle Gerätefunktionen heran?

React Native, Flutter und .NET MAUI kommen an alles heran, notfalls über ein eigenes natives Modul. Bei den Frameworks mit eingebettetem Browser ist der Zugriff enger und hängt an zusätzlichen Erweiterungen.

Welche Sprache muss mein Team lernen?

React Native: JavaScript oder TypeScript, meist schon vorhanden. Flutter: Dart, für fast jedes Team eine neue Sprache. .NET MAUI: C#, vorhanden, wenn ihr sowieso auf .NET arbeitet. Ionic: Web-Technologien.

Womit arbeitet ihr?

Mit React Native und Expo, auch für unsere eigenen Produkte. Wenn ein Projekt besser zu einem anderen Weg passt, sagen wir das im Erstgespräch, statt es passend zu machen.

Nächster Schritt

Welcher Weg zu deinem Team passt, klären wir kurz.

Die Frage entscheidet sich seltener an der Technik als daran, wer die App in drei Jahren pflegt. Darüber reden wir gern, auch wenn am Ende nicht unser Stack herauskommt.