Plattformübergreifende Entwicklung in mobilen Anwendungen: Was es ist, welche Frameworks und wie es funktioniert

Autor: IT Sectr Veröffentlicht: 2026-06-06 Lesezeit: 9 Min.

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 verwendet Platform Channel (MethodChannel) zur Kommunikation mit nativem Code. Nachrichten werden in Binärformat serialisiert und asynchron übertragen.
  • React Native verwendet Bridge (alte Architektur) und Fabric (neue). Fabric verwendet JSI für synchrone native Funktionsaufrufe.
  • Kotlin Multiplatform verwendet expect/actual — Deklaration und Plattformimplementierung. Kotlin/Native kompiliert Code direkt in iOS-Binärdateien.
  • Build-Tools für plattformübergreifende Entwicklung: Gradle KTS (Kotlin DSL für Gradle), CocoaPods Plugin (iOS-Abhängigkeitsverwaltung), XCFramework (Verteilung nativer Bibliotheken).
  • Skia (Flutter) und Impeller — Rendering-Engines. Impeller ist neuer, schneller und löst Jank-Probleme auf älteren Geräten.

Plattformübergreifende Entwicklung: Flutter Platform Channel und Method Channel

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.

Platform Channel (Method Channel)

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.

FFI, Skia und Impeller

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.

Plattformübergreifende Entwicklung mit React Native: Bridge, Fabric, Hermes, JSI

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.

Fabric vs Bridge

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 und Codegen

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
SpracheDartJavaScript/TypeScriptKotlin
ArchitekturSkia/Impeller (eigenes Rendering)Fabric + JSI (native UI)Natives SDK (jedes Modul)
Native BrückeMethodChannel (Dart ↔ Nativ)JSI (JS ↔ C++ ↔ Nativ)expect/actual (Kotlin ↔ Nativ)
UIEigen (Skia/Impeller)Native Komponenten (UIKit/Android Views)Native UI (Jetpack Compose, SwiftUI)
Rendering-EngineSkia oder ImpellerNativ (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).

Plattformübergreifende Entwicklung mit Kotlin Multiplatform: expect/actual, Kotlin/Native

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/actual

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

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: Gradle KTS, CocoaPods Plugin, XCFramework

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 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 und XCFramework

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

Was wählen: Flutter oder React Native im Jahr 2026?

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.

Wie kommuniziert Flutter über Platform Channel mit nativem Code?

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.

Was ist expect/actual in Kotlin Multiplatform?

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.

Was ist der Unterschied zwischen Fabric und Bridge in React Native?

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.

Was ist Hermes und warum braucht React Native es?

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

  • Flutter verwendet Platform Channel (MethodChannel) für die Kommunikation mit nativem Code. FFI — für direkte C-Funktionsaufrufe ohne Overhead.
  • React Native ist von Bridge auf Fabric + JSI umgestiegen. JSI ermöglicht synchrone native Funktionsaufrufe und beseitigt Brückenverzögerungen.
  • Kotlin Multiplatform verwendet expect/actual für Plattformcode. Kotlin/Native kompiliert gemeinsamen Code in ein natives iOS-Framework.
  • Plattformübergreifende Mobile-App-Entwicklung verwendet mit Flutter Skia/Impeller, mit React Native — JSI/Fabric, mit KMP — expect/actual für nativen Code.
  • Hermes — JS-Engine für React Native. Beschleunigt den Start und reduziert den Speicherverbrauch.
  • Gradle KTS — Kotlin DSL für Gradle. CocoaPods Plugin und XCFramework — zur Verteilung von iOS-Binärdateien in der plattformübergreifenden Entwicklung.
  • Framework-Wahl: Flutter für einheitliche UI, React Native für native UI mit JS, KMP zum Teilen von Geschäftslogik mit nativer UI.
  • Bei der Wahl einer Technologie für die plattformübergreifende Mobile-App-Entwicklung sollten Sie Leistungsanforderungen und Teamgröße berücksichtigen.

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.

Projekt besprechen