Jeg har shippet produktionapps i Swift, i Kotlin, i Flutter, og arvet mange i React Native. Så dette er ikke et benchmark-indlæg. Det er svaret jeg giver grundlæggere der skal beslutte denne uge og ikke revisitere det i to år.
Den korte version
- Flutter hvis du har brug for to platforme, et hold, og tungt custom UI. Bedst cost-to-quality forhold for de fleste produkter i 2026.
- Native hvis appen er virksomheden, eller du afhænger af platformfunktioner den dag de shipper.
- React Native hvis du allerede har et stærkt React hold og en web-app at dele logik med. Ellers er sagen svagere end den var.
Alt nedenfor er hvorfor.
Native (Swift / Kotlin)
To kodbaser, to færdighedssæt, to frigivelses cykler. Groft 1,6–1,9× byggepris for en cross-platform svarende — ikke de 2× folk antager, fordi det delte arbejde (design, backend, produkttænkning) ikke fordobler.
Hvad du køber: enhver platformkapabilitet på dag en. Widgets, App Clips, Live Activities, CarPlay, Wear, dybe OS-integrationer, de nyeste kamera og ML API'er. Ingen abstraktion lag mellem dig og platforme, hvilket betyder ingen venten på nogen at pakke det du har brug for.
Vælg det når: appen er produktet og dens kvalitet er differentiatoren; du er i en kategori hvor platformfunktioner driver retention; du har brug for absolut bedste performance og hukommelsesopførsel; eller du er stor nok at to specialist hold er normalt.
Flutter
En kodebasis, et hold, sin egen rendering-motor. Den sidste del er det folk misforstår: Flutter pakker ikke native komponenter, det tegner sin egen. Det er præcis hvorfor tungt custom UI er billigt i Flutter og præcis hvorfor det kan føles subtilt un-native hvis du kæmper mod platformens konventioner.
Hvad du køber: virkelig det samme app på begge platforme, et hold at hyre, en bug at reparere. Fremragende til designledede produkter hvor grænsefladen er skræddersyet alligevel.
Hvad det koster: du er et lag væk fra nye OS-funktioner, og større binærer. Alt dybt platform-specifikt betyder at skrive en platform channel — hvilket er fint, og er også native kode du nu vedligeholder.
Vælg det når: to platforme betyder noget, budgettet er virkelig men begrænset, UI'en er custom, og du foretrækker at have et stærkt hold snarere end to tynde.
React Native
Sagen er indsnævret. Den nye arkitektur rettede de gamle bro-ydelsesproblemer, og hvis du har React-ingeniører, er de produktive på dag en — det er en ægte, stor fordel.
Hvad det koster: dependency-overfladen. En React Native app er dig plus en lang hale af community-pakker, og deres vedligeholdelse er ikke din beslutning. Opgraderinger er den mest almindelige kilde til uplanlagt arbejde jeg ser i arvede RN-kodbaser.
Vælg det når: du har et React hold og et web-produkt at dele logik med. Hvis du skulle hyrer for det frisk, er Flutter normalt det bedre bud i 2026.
Omkostningssammenligningen, konkret
For en medium-stor consumer app — auth, en kerneslynge, betalinger, push, offline-håndtering, begge platforme — formen ligner groft:
- Flutter: et hold, en kodebasis. Baseline. Sig €X.
- React Native: ~1,0–1,15× baseline hvis du allerede har React mennesker; ~1,2× hvis du hyrer frisk, fordi økosystemviden tager længere tid at erhverve end syntaksen.
- Native begge platforme: ~1,6–1,9× baseline. Ikke 2×, fordi design, backend og produkttænkning ikke fordobler — kun klientarbejdet gør.
- Native en platform først: ~0,75× baseline, og så har du anden-platform samtalen om seks måneder med mindre penge end du har nu. Populært, og normalt beklagede.
Vedligeholdelse er hvor divergensen forværres. To native kodbaser betyder hver ændring er specificeret engang og bygget to gange, altid. Over tre år er det gab typisk større end den indledende byggeforskels.
Hyreingsrealiteten ingen prissætter
I Barcelona, Madrid, Lissabon og det meste af Centraleuropa, at hyre en stærk Flutter-ingeniør i 2026 tager uger. At hyre en stærk senior iOS-ingeniør tager måneder, og koster 20–30% mere når du finder en. I London, Amsterdam eller Stockholm er begge sværere og dyrere.
Dette er et reelt input til beslutningen og det optræder næsten aldrig i den tekniske sammenligning. Den bedste arkitektur du ikke kan bemand er værre end den gode arkitektur du kan.
Hvis du allerede er på en og spekulerer på at skifte
Kort svar: gør det normalt ikke, og her er testen. Omskrivning koster 60–80% af et fresh build og leverer nul ny brugerværdi den dag det shipper. Det er kun berettiget når:
- Du kan fysisk ikke hyre for den nuværende stack til en rimelig pris.
- Et platformkrav vil tvinge arbejdet alligevel inden for tolv måneder.
- Den eksisterende kodebasis fejler det grundlæggende — se audit checklisteen — i hvilket tilfælde du ikke omskriver på grund af frameworket.
- Du vedligeholder to native kodbaser med et hold for lille til en.
"Vores ingeniører ville foretrække X" er ikke på den liste, og det er grunden til de fleste omskrivninger egentlig starter.
De spørgsmål der egentlig afgør det
Ikke "hvem er hurtigst". Disse:
- Hvem vedligeholder dette om to år? Vælg den stack du kan hyre til i din by eller dit budget. Et perfekt teknisk valg uden tilgængelige ingeniører er et dårligt valg.
- Hvor custom er grænsefladen? Tungt custom favoriserer Flutter. Platform-konventionel favoriserer native.
- Har du brug for en platformfunktion på lanceringsdagen? Hvis ja, native. Alt andet venter på en wrapper.
- Findes der en eksisterende web-app? Hvis det er React og logikken er virkelig deleligt, bliver React Native's sag meget stærkere.
- Hvad er det rigtige budget? Native for begge platforme på et 40.000 € budget betyder en platform, dårligt. Vær ærlig tidligere snarere end senere.
Hvad betyder ikke så meget som du tror
- Rå ydelseevne. For det overvejende flertal af apps er alle tre langt forbi tærsklen hvor brugere bemærker det. Dit netværkslag og dit billedehåndtering betyder mere end dit framework.
- "Det føles ikke native." Normalt sandt for dårlige apps i hvert framework. Det er et design og opmærksomhedsproblem oftere end et teknologiproblem.
- Framework-levetidsargumenter. Alle tre vil overleve dit nuværende roadmap. Vad på dit hold, ikke på en foundations pressemeddelelser.
Hvis du arver en eksisterende app snarere end at starte en, er frameworkspørgsmålet sekundært — start med hvad en audit egentlig skal se på.