Jag har levererat produktionsappar i Swift, i Kotlin, i Flutter, och ärvt många i React Native. Så detta är inte ett benchmarkpost. Det är svaret jag ger grundare som behöver bestämma denna vecka och inte omöra det i två år.
Kortversionen
- Flutter om du behöver två plattformar, ett lag, och tung anpassad UI. Bästa kostnads-till-kvalitets-förhållande för de flesta produkter 2026.
- Native om appen är affären, eller du är beroende av plattformsfunktioner den dag de levereras.
- React Native om du redan har ett starkt React-lag och en webbapp för att dela logik med. Annars är fallet svagare än det var.
Allt nedan är varför.
Native (Swift / Kotlin)
Två kodbasar, två kompetensgrupper, två releasecykler. Ungefär 1,6–1,9× byggkostnaden för en motsvarande cross-platform — inte de 2× folk antar, för att det delade arbetet (design, backend, produkttänk) inte fördubblas.
Vad du köper: varje plattformsfunktion på dag ett. Widgets, App Clips, Live Activities, CarPlay, Wear, djupa OS-integrationer, de nyaste kamera- och ML-API:erna. Inget abstraktionslager mellan dig och plattformen, vilket betyder att du inte väntar på att någon omsluter det du behöver.
Välj det när: appen är produkten och dess kvalitet är differentiatorn; du är i en kategori där plattformsfunktioner driver retention; du behöver den absolut bästa prestandan och minnesbeteendet; eller du är stor nog att två specialistlag är normalt.
Flutter
En kodbaS, ett lag, dess egna renderingsmotor. Den sista delen är det folk missförstår: Flutter omsluter inte nativa komponenter, det ritar sitt eget. Det är exakt varför tung anpassad UI är billig i Flutter och exakt varför den kan kännas subtilt onativ om du bekämpade plattformens konventioner.
Vad du köper: verkligt samma app på båda plattformar, ett lag att anställa, en bugg att fixa. Utmärkt för designledda produkter där gränssnittet redan är skräddarsytt.
Vad det kostar: du är ett lager borta från nya OS-funktioner, och större binärer. Allt djupt plattformsspecifikt betyder att skriva en platform channel — vilket är fint, och är också native-kod du nu underhåller.
Välj det när: två plattformar spelar, budgeten är verklig men ändlig, UI:n är anpassad, och du vill ha ett starkt lag snarare än två tunna.
React Native
Fallet har förminskats. Den nya arkitekturen fixade de gamla bridge-prestandan, och om du har React-ingenjörer är de produktiva på dag ett — det är en verklig, stor fördel.
Vad det kostar: beroendeytan. En React Native-app är du plus en långt svans av community-paket, och deras underhåll är inte ditt beslut. Uppgraderingar är den vanligaste källan till oplanerat arbete jag ser i ärvda RN-kodbasar.
Välj det när: du har ett React-lag och en webbprodukt att dela logik med. Om du skulle anställa för det nya, är Flutter oftast det bättre valet 2026.
Kostnadsjämförelsen, konkret
För en mellan stor konsumentapp — auth, en kärnslinga, betalningar, push, offline-hantering, båda plattformarna — ser formen ungefär så här ut:
- Flutter: ett lag, en kodbaS. Baslinje. Säg €X.
- React Native: ~1,0–1,15× baslinje om du redan har React-folk; ~1,2× om du anställer ny, för att ekosystemkunskapen tar längre tid att förvärva än syntaxen.
- Native båda plattformar: ~1,6–1,9× baslinje. Inte 2×, för design, backend och produkttänk inte fördubblas — bara klientarbetet gör det.
- Native en plattform först: ~0,75× baslinje, och sedan har du andra-plattforms-samtalet om sex månader med mindre pengar än du har nu. Populär, och oftast ångrat.
Underhållet är där divergensen förvärrad. Två nativa kodbasar betyder att varje ändring specificeras en gång och byggas två gånger, för alltid. Under tre år är det gapet typiskt större än den initiala byggskillnaden.
Anställningverkligheten ingen prisar in
I Barcelona, Madrid, Lissabon och det mesta av Central Europa tar det veckor att anställa en starkt Flutter-ingenjör 2026. Att anställa en starkt senior iOS-ingenjör tar månader, och kostar 20–30% mer när du hittar en. I London, Amsterdam eller Stockholm är båda svårare och dyrare.
Detta är en verklig inmatning till beslutet och den dyker nästan aldrig upp i den tekniska jämförelsen. Den bästa arkitektur du inte kan personala är sämre än den goda arkitektur du kan.
Om du redan är på en och undrar om att byta
Kort svar: oftast inte, och här är testet. Omskrivning kostar 60–80% av en ny byggnation och levererar noll nytt användarvärde den dag den levereras. Det är bara motiverat när:
- Du kan inte fysiskt anställa för den nuvarande stacken till någon rimlig pris.
- Ett plattformskrav kommer att tvinga arbetet ändå inom tolv månader.
- Den befintliga kodbasen misslyckas grunderna — se auditeringshastighetslisten — i vilket fall omskrivningen inte är på grund av ramverket.
- Du underhåller två nativa kodbasar med ett lag för små för en.
"Våra ingenjörer skulle föredra X" är inte på den listan, och det är anledningen mest skrivomskrivare faktiskt börjar.
Frågorna som faktiskt bestämmer det
Inte "vilken är snabbast". Dessa:
- Vem underhåller detta om två år? Välj stacken du kan anställa för i din stad eller din budget. Ett perfekt tekniskt val utan tillgängliga ingenjörer är ett dåligt val.
- Hur anpassat är gränssnittet? Tungt anpassat favors Flutter. Plattformskonventionell favors native.
- Behöver du en plattformsfunktion på lanseringsdagen? Om ja, native. Allt annat väntar på en omslutare.
- Finns det en befintlig webbapp? Om det är React och logiken är verkligt delbar blir React Natives fall mycket starkare.
- Vad är den verkliga budgeten? Native för båda plattformarna på en 40 000 €-budget betyder en plattform, dåligt. Var ärlig tidigare snarare än senare.
Vad som inte spelar så mycket roll som du tror
- Rå prestanda. För den överväldigande majoriteten av appar är alla tre långt förbi tröskeln där användarna märker. Ditt nätverkslager och din bildhantering spelar mer roll än ditt ramverk.
- "Det känns inte nativ." Oftast sant för dåliga appar i varje ramverk. Det är ett design- och uppmärksamhetsproblem oftare än ett teknologiproblem.
- Ramverks-livslängdsargument. Alla tre kommer att överleva din nuvarande roadmap. Satsning på ditt lag, inte på en stiftelses pressmeddelanden.
Om du ärvde en befintlig app snarare än att starta en är ramverksfrågan sekundär — börja med vad en revision faktiskt bör se på.