Plattformübergreifende Entwicklung ist einer der dynamischsten Bereiche des Mobile Engineering. Laut Statista (2025) verwenden 42 % der mobilen Entwickler Flutter oder React Native in ihren Projekten. Plattformkanäle, Brücken und native Module sind die Grundlage plattformübergreifender Architektur.
Wichtige Punkte
Flutter ist Googles Framework zum Erstellen nativer Anwendungen aus einer einzigen Dart-Codebasis. Zur Interaktion mit Plattformcode (Kotlin, Swift) verwendet Flutter Platform Channel. Es ist eine Brücke, über die Dart-Code native Funktionen aufruft und das Ergebnis erhält. Plattformübergreifende Mobile-App-Entwicklung mit Flutter ist das am schnellsten wachsende Segment der mobilen Entwicklung in den Jahren 2025–2026.
Method Channel ist der Hauptkommunikationskanal Flutter <-> Native. Auf der Dart-Seite: MethodChannel('com.example/channel').invokeMethod('getBatteryLevel'). Die Nachricht wird in StandardMethodCodec (binär) codiert. Auf der nativen Seite wird ein MethodChannel registriert und verarbeitet den Aufruf. MethodChannel ist asynchron — das Ergebnis wird über Future zurückgegeben. Alternative: EventChannel für Ereignisströme.
BasicMessageChannel ist ein niederpegeligerer Kanal zum Senden von Zeichenfolgen/Bytes ohne „Methoden-Argumente"-Struktur. Wird für benutzerdefinierte Protokolle verwendet. Die gesamte Platform Channel API durchläuft die Flutter-Engine, die Nachrichten serialisiert/deserialisiert.
dart:ffi (Foreign Function Interface) — direkter Aufruf von C-Funktionen aus Dart ohne Plattformkanäle. FFI ist schneller als Method Channel (0 Serialisierungs-Overhead). Wird für leistungsintensive Operationen verwendet: Audioverarbeitung, Kryptographie, Grafik-Engines. Skia ist die Rendering-Engine von Flutter (2D-Grafik). Impeller ist die neue Rendering-Engine von Flutter, die Skia ersetzt. Impeller kompiliert Shader vorab (Ahead-of-Time) und beseitigt so Jank (Frame-Ruckeln) bei den ersten Starts. Bei IT Sectr sind wir 2025 auf Impeller umgestiegen — der Unterschied in der Animationsglätte ist sofort spürbar.
React Native ist Metas Framework für plattformübergreifende Mobile-App-Entwicklung in JavaScript/TypeScript. React Native rendert Komponenten in native UI-Elemente. Die Architektur hat sich weiterentwickelt: alte Bridge → neue Fabric mit JSI.
Bridge ist die alte React-Native-Architektur. Der JS-Thread serialisiert Nachrichten in JSON und sendet sie über eine asynchrone Warteschlange an den nativen Thread. Dies verursacht Verzögerungen (Bridge-Roundtrip ~1 ms). Fabric ist die neue Architektur, bei der JS- und native UI-Threads synchron über JSI (JavaScript Interface) kommunizieren. Fabric injiziert native Ansichten direkt, ohne Brücke. Fabric ist ein wichtiger Meilenstein in der plattformübergreifenden Entwicklung und beschleunigt das Rendering um bis zu 2x.
JSI (JavaScript Interface) ist eine C++-API, die es JavaScript ermöglicht, native Funktionen direkt aufzurufen und Speicher zu teilen. JSI hat die JSON-Serialisierung von Bridge ersetzt. Die neue JSI-basierte Architektur ist eine entscheidende Errungenschaft in der plattformübergreifenden Entwicklung und bestimmt die Leistung mobiler Apps. Turbo Module ist eine neue Methode zum Schreiben nativer Module für React Native. Im Gegensatz zu alten Native Modules wird Turbo Module lazy geladen und verwendet JSI.
Hermes ist ein JavaScript-Engine von Meta, optimiert für React Native. Hermes kompiliert JS-Code zur Build-Zeit in Bytecode, was den Start mobiler Apps beschleunigt und den Speicherverbrauch bei der plattformübergreifenden Entwicklung reduziert. Codegen ist ein nativer Code-Generator basierend auf TypeScript-Typen. Codegen erstellt automatisch native Module und JSI-Bindungen und reduziert so manuelle Arbeit.
| Parameter | Flutter | React Native | KMP |
|---|---|---|---|
| Sprache | Dart | JavaScript/TypeScript | Kotlin |
| Architektur | Skia/Impeller (eigenes Rendering) | Fabric + JSI (native UI) | Natives SDK (jedes Modul) |
| Native Brücke | MethodChannel (Dart ↔ Nativ) | JSI (JS ↔ C++ ↔ Nativ) | expect/actual (Kotlin ↔ Nativ) |
| UI | Eigen (Skia/Impeller) | Native Komponenten (UIKit/Android Views) | Native UI (Jetpack Compose, SwiftUI) |
| Rendering-Engine | Skia oder Impeller | Nativ (UIView/View) | Nativ |
Flutter rendert alles selbst über Skia/Impeller — das ergibt eine einheitliche UI auf beiden Plattformen. React Native verwendet native UI-Komponenten — es sieht aus wie eine native App. KMP kümmert sich nicht um die UI — es teilt nur die Geschäftslogik, die UI bleibt nativ. Die Wahl hängt von der Priorität ab: einheitliche UI (Flutter) oder maximale Nat- ivität (React Native/KMP).
Kotlin Multiplatform (KMP) ist JetBrains-Technologie für gemeinsamen Code zwischen Android und iOS. Im Gegensatz zu Flutter und React Native ist KMP ein alternativer Ansatz für die plattformübergreifende Entwicklung: Es ersetzt nicht die UI, sondern teilt Geschäftslogik, Netzwerkanfragen, Datenmodelle und Repositories. Die UI bleibt nativ: Jetpack Compose für Android, SwiftUI für iOS.
expect — Deklaration einer Funktion oder Klasse im gemeinsamen Modul (commonMain), die eine Plattformimplementierung hat. Plattformübergreifende Entwicklung mit KMP verwendet expect/actual: actual ist die konkrete Implementierung für jede Plattform (androidMain, iosMain). Beispiel: expect fun getDeviceId(): String — actual auf Android verwendet Settings.Secure, auf iOS — UIDevice.current.identifierForVendor.
Kotlin/Native — ein Kotlin-Compiler in native Binärdateien (iOS-Framework). Es ermöglicht die Ausführung von Kotlin-Code auf iOS ohne JVM. Kotlin/Native verwendet LLVM zur Kompilierung und bietet eine Leistung nahe an Swift. Kotlin/JS — Kompilierung von Kotlin in JavaScript für Web- und React-Native-Projekte.
Build-Tools der plattformübergreifenden Mobile-App-Entwicklung — die Brücke zwischen Code und endgültiger Binärdatei. Gradle KTS verwaltet den Android-Teil, CocoaPods Plugin verwaltet die KMP-iOS-Abhängigkeiten, XCFramework verwaltet die Verteilung nativer Bibliotheken.
Gradle KTS — Gradle-Konfiguration mit Kotlin DSL statt Groovy. KTS unterstützt Autovervollständigung in Android Studio, Typprüfung und Refactoring-Sicherheit. Beispiel: plugins { id("com.android.application") } statt apply plugin: 'com.android.application'. Für alle neuen Projekte empfohlen.
CocoaPods Plugin — ein Gradle-Plugin für KMP, das das gemeinsame Modul als CocoaPods-Pod veröffentlicht. Ein iOS-Entwickler fügt es über Podfile hinzu. XCFramework — Apples Format zur Verteilung binärer Bibliotheken. XCFramework enthält Binärdateien für mehrere Architekturen (arm64, x86_64) und Plattformen (iOS, macOS, watchOS). In KMP wird das gemeinsame Modul als XCFramework für iOS exportiert.
Häufig gestellte Fragen
Flutter bietet bessere Leistung (Skia/Impeller), eine einheitliche UI-Codebasis und hohe Stabilität bei der plattformübergreifenden Entwicklung. React Native — riesige Community, einfacher Übergang von der Webentwicklung und Flexibilität durch JSI. IT Sectr empfiehlt Flutter für UI-zentrierte Projekte, React Native wenn das Projekt häufigen nativen Code erfordert.
Flutter sendet eine Nachricht über MethodChannel auf der Dart-Seite. Die Nachricht wird in Binärformat codiert und an die native Seite (Kotlin/Swift) übertragen, wo sie verarbeitet wird und das Ergebnis zurückgibt. Die gesamte Kommunikation in der Mobile-App-Entwicklung ist asynchron.
expect ist eine Deklaration einer Funktion oder Klasse im gemeinsamen Code, die eine Plattformimplementierung hat. actual ist die konkrete Implementierung für jede Plattform (Android/iOS). Dies ist KMPs Mechanismus für bedingte Kompilierung ohne Präprozessor.
Bridge ist die alte Architektur, bei der Nachrichten in JSON serialisiert und asynchron über eine Warteschlange übertragen werden. Fabric ist die neue Architektur mit synchronen nativen Funktionsaufrufen über JSI, die Verzögerungen beseitigt und die Leistung mobiler Apps verbessert.
Hermes ist eine JavaScript-Engine von Meta, optimiert für React Native. Es kompiliert JS zur Build-Zeit in Bytecode, was den App-Start um das 2- bis 3-fache beschleunigt und den Speicherverbrauch reduziert.
Zusammenfassung
Wir entwickeln eine mobile Applikation schlüsselfertig
IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.