Alternatives to React Native (cross-platform frameworks)
draftedconfidence: lowearly: 1/12 of this tier graded so far (0 overturned) — the public scorecard →
recommendation
Stay on React Native unless a specific driver pushes you off it — its decade of libraries is a major advantage; Lynx and Valdi are early.
- share only business logic, keep native UI → Kotlin Multiplatform
- team already invested in Dart / wants one render engine → Flutter (leaves React entirely)
Low confidence — fast-moving or lightly-vetted domain: treat the pick as a vetted lead and prototype before committing.
Options & tradeoffs
| option | tradeoff |
|---|---|
| Lynx (ByteDance) | web-tech (HTML/CSS) + native render; dual-thread UI/logic; young ecosystem (open-sourced 2025); scaffold via create-rspeedy |
| Valdi (Snap) | declarative TypeScript compiling to native views on iOS/Android/macOS; beta (beta-0.1.0), open-sourced by Snap Nov 2025 after ~8 yrs internal use |
| Flutter | Dart; own render engine; large ecosystem; not React/JS |
| Kotlin Multiplatform | share business logic across platforms; native UI per platform; SWM's same-app benchmark: KMP ~8x smaller + 2-4x faster startup on ANDROID, but iOS converges (RN uses 3-4x LESS memory there — UIKit rendering vs KMP's resident Skia) |
Verified notes
Context for teams weighing leaving the React/RN ecosystem. Newer entrants (Lynx, Valdi) are early — not endorsements. The KMP-vs-RN numbers come from Software Mansion's controlled same-app benchmark (see reading) — notable because an RN shop published results that favor KMP on Android.
Canonical reading
Editorial annotations on why each piece matters — the articles themselves are the originals; read them there.
The controlled comparison this entry needed: identical unoptimized apps on 6 devices measuring size/startup/RAM/CPU/frames. KMP wins Android decisively (8x smaller, 2-4x startup, ~50% less RAM — no JS runtime); iOS converges, with RN using 3-4x LESS memory (UIKit rendering vs KMP's resident Skia). Credible precisely because an RN consultancy published the unflattering Android numbers; ends on the right frame — performance is one input, DX and ecosystem are others.
Architecture case study replacing a React SPA with server-side templating + Lit web components (per-component CSS, Declarative Shadow DOM, Rspack). An authoritative counter-perspective on when NOT to ship a React SPA.
When a marketing/content site doesn't need React — migrating to Web Components (Custom Elements + Astro + nanostores, ~3KB vs ~63KB), with the boilerplate/accessibility trade-offs nanotags addresses. Durable do-you-even-need-React reasoning.
A migration case study contrasting React's virtual-DOM overhead with Svelte's compiled reactivity for an AI-driven browser UI, including the LLM-migration ruleset that kept the Svelte idiomatic. A concrete framework-tradeoff data point for teams weighing leaving React.
Sources
Related in platform-native: native · media · storage · native-ui · keyboard · payments · brownfield · games