Cross-Platform-App-Entwicklung
Bei der Cross-Platform-App-Entwicklung werden Android- und iOS-Apps auf einer gemeinsamen technischen Grundlage entwickelt. Zu den wichtigsten Frameworks gehören Flutter, React Native, Kotlin Multiplatform und Ionic mit Capacitor. Welches Framework passt, hängt von der vorhandenen Programmiererfahrung, dem gewünschten App-Design, den benötigten Gerätefunktionen und der späteren Wartung ab.

Bei der Cross-Platform-App-Entwicklung werden Android- und iOS-Apps auf einer gemeinsamen technischen Grundlage entwickelt. Zu den wichtigsten Frameworks gehören Flutter, React Native, Kotlin Multiplatform und Ionic mit Capacitor. Welches Framework passt, hängt von der vorhandenen Programmiererfahrung, dem gewünschten App-Design, den benötigten Gerätefunktionen und der späteren Wartung ab.
Flutter eignet sich häufig für neue Apps mit einer stark individuell gestalteten Oberfläche. React Native ist für Teams mit React- und TypeScript-Erfahrung naheliegend. Kotlin Multiplatform bietet mehr Freiheit bei der Frage, welche Bestandteile geteilt und welche nativ entwickelt werden. Ionic passt vor allem zu Projekten, die auf vorhandenen Webtechnologien aufbauen.
Was bedeutet Cross-Platform-App-Entwicklung?
Cross-Platform bedeutet, dass Entwickler einen Teil des Quellcodes für mehrere Betriebssysteme verwenden. Geschäftslogik, Datenmodelle, Schnittstellen und häufig auch die Benutzeroberfläche müssen dadurch nicht für Android und iOS vollständig getrennt erstellt werden.
Eine gemeinsame Codebasis beseitigt die Plattformunterschiede jedoch nicht. Android und iOS verwenden unterschiedliche Bedienmuster, Berechtigungen, Benachrichtigungssysteme und Store-Prozesse. Kamera, Bluetooth, Standortfunktionen oder In-App-Käufe können deshalb weiterhin plattformspezifischen Code und separate Tests erfordern.
Die zentrale Frage lautet daher nicht nur: „Wie viel Code lässt sich teilen?“ Entscheidend ist auch, ob das Framework die besonderen Anforderungen der App langfristig zuverlässig unterstützt.
Flutter: gemeinsame Oberfläche mit Dart
Flutter ist ein von Google betreutes Framework für Anwendungen auf Android, iOS, Web und Desktop. Der Code wird in Dart geschrieben. Flutter kann nativ kompilierte Anwendungen aus einer gemeinsamen Codebasis erzeugen und bei Bedarf plattformspezifische Funktionen über Plugins oder eigenen nativen Code anbinden.
Die Benutzeroberfläche wird aus Flutter-Widgets aufgebaut. Dadurch kann ein Entwicklungsteam sehr genau steuern, wie Layouts, Animationen und Bedienelemente auf verschiedenen Geräten aussehen.
Flutter passt besonders gut zu Projekten, bei denen:
- Android und iOS ein weitgehend einheitliches Design erhalten sollen,
- individuelle Oberflächen oder Animationen geplant sind,
- die App vollständig neu entwickelt wird,
- das Team bereit ist, mit Dart zu arbeiten.
Der eigene Rendering-Ansatz bedeutet nicht, dass Plattformregeln ignoriert werden können. Eine gute Flutter-App muss Navigation, Gesten und Berechtigungen weiterhin passend für Android und iOS umsetzen.
React Native basiert auf React und verwendet JavaScript oder TypeScript. React-Komponenten werden durch den Renderer in Host Views der jeweiligen Plattform überführt. Auf Android können daraus beispielsweise Android-Views und auf iOS entsprechende iOS-Views entstehen.
Das Framework passt häufig zu Unternehmen, die bereits Webanwendungen mit React entwickeln. Wissen über Komponenten, Zustandsverwaltung und TypeScript kann teilweise für die mobile Entwicklung genutzt werden.
React Native ist besonders interessant, wenn:
- ein erfahrenes React-Team vorhanden ist,
- JavaScript- oder TypeScript-Bibliotheken eingebunden werden sollen,
- die App klassische Geschäfts- und Servicefunktionen enthält,
- Android und iOS gezielt unterschiedlich gestaltet werden dürfen.
Die aktuelle React-Native-Architektur verwendet unter anderem die JavaScript Interface, kurz JSI, für eine direktere Verbindung zwischen JavaScript und nativen Bestandteilen. Sie ersetzt in der neuen Architektur zentrale Einschränkungen der früheren asynchronen Bridge.
Eine bestehende React-Website lässt sich trotzdem nicht unverändert in eine React-Native-App übernehmen. Browser-Elemente und mobile Komponenten verwenden unterschiedliche technische Grundlagen.
Kotlin Multiplatform: Logik oder Oberfläche gezielt teilen
Kotlin Multiplatform verfolgt einen flexibleren Ansatz. Entwickler können nur die Geschäftslogik und Datenzugriffe teilen oder mit Compose Multiplatform auch eine gemeinsame Benutzeroberfläche erstellen. Android- und iOS-spezifischer Code bleibt dort möglich, wo er technisch oder gestalterisch sinnvoll ist.
Das Framework eignet sich besonders für Teams, die bereits Kotlin und Android einsetzen. Eine vorhandene Android-App kann schrittweise erweitert werden, indem zunächst einzelne Module für Android und iOS gemeinsam genutzt werden.
Kotlin Multiplatform passt zu Projekten, bei denen:
- eine bestehende Kotlin- oder Android-Codebasis vorhanden ist,
- die Geschäftslogik geteilt werden soll,
- die iOS-Oberfläche weiterhin nativ bleiben soll,
- nicht sofort die komplette App auf ein neues Framework umgestellt werden soll.
Dieser Ansatz kann mehr Plattformnähe erhalten als eine vollständig gemeinsame Oberfläche. Er setzt allerdings voraus, dass das Team die Aufteilung zwischen gemeinsamem und plattformspezifischem Code sauber plant.
Ionic verwendet Webtechnologien wie HTML, CSS und JavaScript. Eine Ionic-Anwendung kann aus einer gemeinsamen Codebasis als Web-App, Progressive Web App sowie als Android- oder iOS-App bereitgestellt werden.
Für die Verbindung mit den mobilen Betriebssystemen nutzt Ionic üblicherweise Capacitor. Capacitor erzeugt eigenständige Android- und iOS-Projekte, die in Android Studio beziehungsweise Xcode geöffnet und um native Funktionen erweitert werden können.
Ionic eignet sich vor allem für:
- bestehende Webteams,
- interne Unternehmensanwendungen,
- Formulare und Kundenportale,
- Anwendungen mit überwiegend klassischen Weboberflächen.
Bei grafikintensiven Apps, komplexen Animationen oder sehr tiefen Geräteintegrationen kann ein anderer Ansatz besser passen. Das lässt sich jedoch nur anhand der konkreten Funktionen beurteilen.
| Framework | Sprache | Ansatz | Häufig passende Ausgangslage |
| Flutter | Dart | Gemeinsame Widgets und eigenes Rendering | Neue App mit individuellem Design |
| React Native | JavaScript oder TypeScript | React mit nativen Host Views | Bestehendes React-Team |
| Kotlin Multiplatform | Kotlin | Logik und optional UI teilen | Kotlin-Team oder vorhandene Android-App |
| Ionic mit Capacitor | HTML, CSS, JavaScript | Web-App im nativen Projekt | Webteam und browsernahe Anwendung |
Die Tabelle ist keine allgemeingültige Rangliste. Ein Framework ist nur dann eine gute Wahl, wenn das Team es beherrscht und die benötigten Funktionen ohne viele Sonderlösungen umsetzen kann.
Welches Framework bietet die beste Performance?
Eine pauschale Antwort wäre nicht seriös. Die tatsächliche Leistung hängt von App-Architektur, Datenverarbeitung, Animationen, eingebundenen Bibliotheken und nativen Schnittstellen ab.
Flutter erzeugt nativ kompilierte Anwendungen und kontrolliert große Teile der Darstellung selbst. React Native setzt seine Komponenten über einen nativen Renderer um. Kotlin Multiplatform kann gemeinsamen Kotlin-Code mit nativen Oberflächen verbinden. Ionic basiert stärker auf einer Weboberfläche innerhalb nativer Projekte.
Für Buchungs-Apps, Portale und typische Geschäftsanwendungen können alle vier Ansätze ausreichend leistungsfähig sein. Bei Spielen, Echtzeit-Bildverarbeitung oder ungewöhnlichen Hardwarezugriffen sollte die technische Machbarkeit anhand eines Prototyps geprüft werden.
Wann ist eine native Entwicklung besser?
Eine getrennte Entwicklung mit Swift für iOS und Kotlin für Android kann sinnvoll sein, wenn die App sehr stark auf neue Plattformfunktionen, komplexe Hintergrundprozesse oder tief integrierte Hardware angewiesen ist.
Native Entwicklung bietet direkten Zugriff auf die jeweiligen SDKs. Dafür müssen große Teile der Anwendung zweimal entwickelt und langfristig in zwei Codebasen gepflegt werden.
Auch ein Cross-Platform-Projekt enthält häufig native Bestandteile. Die Entscheidung lautet deshalb nicht immer „Cross-Platform oder nativ“. In vielen Projekten entsteht eine gemeinsame Grundlage mit gezielten nativen Erweiterungen.
Wie wählt man das passende Cross-Platform-Framework?
Vor der Auswahl sollten Funktionen, vorhandene Kenntnisse und spätere Zuständigkeiten feststehen. Besonders relevant sind Gerätezugriffe, Offline-Anforderungen, Schnittstellen, gewünschte Plattformanpassungen und die Verfügbarkeit erfahrener Entwickler.
Flutter ist eine starke Ausgangslösung für neue Projekte mit gemeinsamer Oberfläche. React Native passt gut zu React-Teams. Kotlin Multiplatform bietet sich an, wenn gemeinsame Logik und native Plattformnähe kombiniert werden sollen. Ionic ist eine mögliche Lösung für webnahe Anwendungen und bestehende Webkompetenz.
Fazit: Das Team und die App-Anforderungen entscheiden
Die wichtigsten Frameworks für die Cross-Platform-App-Entwicklung verfolgen unterschiedliche Ansätze. Flutter teilt große Teile von Logik und Oberfläche, React Native verbindet React mit nativen Host Views, Kotlin Multiplatform erlaubt eine flexible Aufteilung und Ionic baut auf Webtechnologien mit Capacitor auf.
Wählen Sie das Framework nicht allein anhand allgemeiner Vergleiche. Definieren Sie zuerst Kernfunktionen, Schnittstellen und Gerätezugriffe. Lassen Sie anschließend prüfen, welche Lösung diese Anforderungen mit möglichst wenig plattformspezifischen Sonderwegen dauerhaft abdeckt.