Kotlin Multiplatform vs Flutter
KMP (geteilte Businesslogik + native UI) vs. Flutter (geteilte UI + Runtime) — Vergleich von Cross-Platform-Mobile-Ansätzen. Performance, Developer Experience, Ökosystem.
Mit deinem SwiftUI-Code gleichzeitig auf iOS und Android
Kotlin gibt es seit 2012; KMP ist ein produktionsreifes Modell aus gemeinsamer Logik + nativer UI
Die Belege liefern keinen klaren "Sieger", sondern ein klares "kommt auf dich an": Das offizielle SDK von Swift 6.3 und der kostenlose Kurswechsel von Skip machen "Android ohne Kotlin" erstmals vertretbar. Im Produktionsmaßstab liegt KMP weiter vorn: Duolingo, Google, McDonald's und Netflix sind großskalige Fälle. Skips Galerie listet 24 namentliche Apps, aber ohne veröffentlichte Größenordnung oder Kennzahlen. Als kleines Team ohne Zeit für Kotlin: probiere Skip. Als Unternehmen mit geringer Risikotoleranz: KMP bleibt die sichere Wahl.
| Kategorie | Skip (Swift on Android) | Kotlin Multiplatform |
|---|---|---|
| Performance | 8/10 | 9/10 |
| Erlernbarkeit | 6/10 | 6/10 |
| Ökosystem | 6/10 | 9/10 |
| Community | 5/10 | 9/10 |
| Arbeitsmarkt | 4/10 | 8/10 |
| Zukunftssicherheit | 7/10 | 9/10 |
// Skip: Installation und neues Projekt auf einem Rechner mit Xcode + Android Studio
// Quelle: https://skip.dev/docs/gettingstarted/ + https://skip.dev/docs/skip-cli/
// 1) Skip-Toolchain installieren (Homebrew)
brew install skip
// 2) Umgebung prüfen (Xcode-, Android-Studio-, Java-, Gradle-Versionen)
skip checkup
// 3) Neues Skip-App-Projekt erstellen (Fuse-Modus, iOS+Android).
// `skip create` ist vollständig interaktiv und nimmt keine Flags entgegen; das nicht-interaktive Pendant ist `skip init`:
skip init --native-app --appid=com.example.HelloSkip hello-skip HelloSkip
// 4) Wenn du einer bestehenden iOS-App über das Library-Modell Android hinzufügen möchtest:
// gemeinsame Logik in ein separates natives Bibliotheksmodul auslagern
skip init --native-model shared-feature SharedFeature
// Die entstehende SwiftUI-View schreibst du wie eine gewöhnliche iOS-SwiftUI-View:
import SwiftUI
struct ContentView: View {
@State private var count = 0
var body: some View {
VStack(spacing: 16) {
Text("Mit Skip nach Android ausliefern")
.font(.title2)
Text("Zähler: \(count)")
Button("Erhöhen") {
count += 1
}
.buttonStyle(.borderedProminent)
}
.padding()
}
}
// 5) Auf Android bauen und ausführen (über Gradle, im Hintergrund
// wird der SwiftUI-View-Baum in Jetpack-Compose-Aufrufe umgewandelt).
// Voraussetzung: Starte den Emulator selbst — `skip app launch` startet ihn nicht für dich.
cd hello-skip
skip android emulator launch
skip app launch --android// Kotlin Multiplatform: gemeinsame Logik + expect/actual
// Quelle: https://kotlinlang.org/docs/multiplatform/get-started.html
// commonMain/kotlin/Counter.kt — auf allen Plattformen gemeinsame Logik
class Counter {
private var value: Int = 0
fun increment(): Int { value += 1; return value }
fun current(): Int = value
}
// commonMain/kotlin/Platform.kt
expect fun platformName(): String
// androidMain/kotlin/Platform.android.kt
actual fun platformName(): String = "Android ${android.os.Build.VERSION.SDK_INT}"
// iosMain/kotlin/Platform.ios.kt
import platform.UIKit.UIDevice
actual fun platformName(): String =
UIDevice.currentDevice.systemName() + " " + UIDevice.currentDevice.systemVersion
// Auf Android verwendet die Compose-UI den gemeinsamen Counter
@Composable
fun CounterScreen(counter: Counter) {
var count by remember { mutableStateOf(counter.current()) }
Column(modifier = Modifier.padding(16.dp)) {
Text("Gemeinsame Logik mit Kotlin Multiplatform")
Text("Zähler: $count")
Button(onClick = { count = counter.increment() }) { Text("Erhöhen") }
}
}
// build.gradle.kts (module: shared)
kotlin {
androidTarget()
listOf(iosX64(), iosArm64(), iosSimulatorArm64()).forEach {
it.binaries.framework { baseName = "Shared" }
}
sourceSets {
commonMain.dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0")
}
}
}Die Belege liefern keinen klaren "Sieger", sondern ein klares "kommt auf dich an": Das offizielle SDK von Swift 6.3 und der kostenlose Kurswechsel von Skip machen "Android ohne Kotlin" erstmals vertretbar. Im Produktionsmaßstab liegt KMP weiter vorn: Duolingo, Google, McDonald's und Netflix sind großskalige Fälle. Skips Galerie listet 24 namentliche Apps, aber ohne veröffentlichte Größenordnung oder Kennzahlen. Als kleines Team ohne Zeit für Kotlin: probiere Skip. Als Unternehmen mit geringer Risikotoleranz: KMP bleibt die sichere Wahl.
Kostenlose Beratung erhaltenJa. Seit Swift 6.3 (24. März 2026) gibt es ein offizielles Swift SDK for Android, und Swift-Pakete lassen sich direkt für das Android-Target kompilieren. Tools wie Skip bauen darauf einen praktischen Entwicklungsworkflow auf, indem sie SwiftUI-Views in eine echte Jetpack-Compose-Oberfläche umwandeln. Quelle: swift.org/blog/swift-6.3-released.