"매 single codebase 의 iOS + Android + Web + Desktop 의 ship — 매 native 의 90% performance, 매 dev cost 의 50%.". 매 1990s Java 의 "Write Once Run Anywhere" 의 promise 부터 매 2026 의 mature stack — Flutter 4, React Native New Arch, KMP 의 stable, Tauri 2 — 의 production scale.
매 핵심
매 stack 분류
Hybrid web: Cordova, Ionic — 매 WebView 의 wrap (legacy).
JS bridge: React Native (Old Arch) — 매 message passing.
Native bindings: React Native New Arch (JSI), NativeScript — 매 direct call.
Custom rendering: Flutter (Skia / Impeller) — 매 framework 의 own pixel.
Compile-to-native: KMP, MAUI, Compose Multiplatform — 매 platform UI 의 native.
Web-on-desktop: Electron, Tauri — 매 web → desktop.
// commonMain
@ComposablefunApp(){varcountbyremember{mutableStateOf(0)}Button(onClick={count++}){Text("Clicked $count times")}}// iOS, Android, Desktop, Web — 매 same code
언제: 매 stack selection 의 trade-off 의 explanation, 매 platform-specific code 의 generation, 매 migration plan 의 brainstorm.
언제 X: 매 perf-critical native API integration — 매 platform docs + native dev 의 우선.
❌ 안티패턴
One-size-fits-all UI: 매 iOS 와 Android 의 동일 UX — 매 platform convention 의 ignore.
WebView for everything: 매 native feel 의 손실 — 매 60fps scroll 의 어려움.
No platform testing: 매 iOS 만 test — 매 Android 의 quirks 의 발견 누락.
Bridge bloat (RN Old Arch): 매 high-frequency message — 매 New Arch (JSI) 의 migrate.
Shared UI 의 over-share: 매 Flutter 의 Cupertino + Material 의 mix — 매 either 의 commit.