React Native eller Flutter: hva bør bedriften velge?
Begge passer for de fleste bedriftsapper: én kodebase gir app til både iOS og Android, og ytelsen holder til det meste. Velg React Native hvis dere har eller planlegger et nettprodukt i TypeScript og React, eller vil kunne rette feil uten å vente på App Store. Flutter passer best når appen har et eget design som skal se helt likt ut på alle plattformer, eller når teamet allerede kan Dart.
Håkon Kjelseth, teknisk leder i Brink Studio
Oppdatert · 6 min lesing
Det React Native og Flutter har til felles
Begge rammeverkene lar dere skrive appen én gang og gi den ut i App Store og Google Play. React Native kommer fra Meta og skrives i JavaScript eller TypeScript. Flutter kommer fra Google og skrives i Dart. Begge er åpen kildekode.
Mye av maskineriet er byttet ut de siste årene. React Native 0.82 fra oktober 2025 var den første versjonen som bare kjører på den nye arkitekturen, der JavaScript snakker direkte med native kode. Flutter bruker sin egen grafikkmotor, Impeller, som er eneste motor på iOS og standard på Android siden versjon 3.27. Impeller har shaderne ferdig kompilert, så de ikke må kompileres mens appen kjører, noe som tidligere kunne gi hakking første gang en animasjon ble vist. For innlogging, lister, skjemaer og betaling er begge raske nok.
Kamera, push-varsler, Face ID og kjøp i appen finnes som ferdige pakker for begge. Mangler en funksjon, skrives den i Swift for iOS og Kotlin for Android, med Expo Modules API i React Native og plattformkanaler i Flutter. Noen deler av iOS må uansett lages i Swift, for eksempel widgeter på hjemskjermen, som bygges med Apples WidgetKit. Spør derfor byrået om noen i teamet skriver native kode selv.
Native komponenter eller egen tegning
Den største tekniske forskjellen er hvordan skjermbildene lages. I React Native blir en knapp eller et tekstfelt til en ekte iOS- eller Android-komponent når appen kjører. Flutter tegner hele skjermen selv og har egne versjoner av komponentene som etterligner Googles Material Design og Apples iOS-stil.
For brukeren merkes dette mest i detaljene. Tekstfelt, rulling og systemmenyer i en React Native-app oppfører seg som i andre apper på telefonen, fordi det er de samme komponentene. Når Apple eller Google endrer utseendet på systemets komponenter, slik Apple gjorde med Liquid Glass i iOS 26, får en React Native-app det nye uttrykket når den bygges på nytt med de nye verktøyene. I Flutter må rammeverkets egne versjoner av komponentene oppdateres først.
Flutters modell har også fordeler. Appen ser lik ut på alle telefoner og OS-versjoner, og designere kan lage komponenter som ikke finnes i iOS eller Android uten å jobbe mot plattformen.
TypeScript eller Dart, og hvem som kan jobbe i koden
React Native skrives i JavaScript, og de fleste bruker TypeScript, som er JavaScript med typer. Flutter bruker Dart, et språk Google lager. I Stack Overflows utviklerundersøkelse for 2025 oppga 66 prosent at de bruker JavaScript og 43,6 prosent TypeScript. For Dart var tallet 5,9 prosent.
For en bedrift betyr det at flere utviklere kan jobbe i en React Native-app. En webutvikler som kan React, kjenner igjen det meste, fordi skjermene bygges på samme måte.
Har dere eller planlegger dere en nettside eller webapp i React eller Next.js, kan appen og nettproduktet dele kode, som typer, validering og API-kall. Expo kan også bygge appen for nettleseren. Flutter kjører i nettleseren også, men Flutter-dokumentasjonen skriver selv at tekstrikt innhold som artikler passer bedre for vanlige nettsider. Er dere usikre på om dere trenger en app i det hele tatt, kan dere lese om forskjellen på en webapp og en mobilapp.
Oppdateringer uten ny versjon i App Store
En ny versjon av en app må normalt gjennom Apples og Googles gjennomgang før brukerne får den. Med Expo kan vi oppdatere JavaScript-koden, tekster, oppsett og bilder direkte på brukernes telefoner med EAS Update. Endringer i native kode, nye tillatelser som kamera eller posisjon og nye versjoner av Expo SDK krever fortsatt et nytt bygg til butikkene.
Flutter har ingen innebygd løsning for dette. Det vanlige valget er Shorebird, en egen skytjeneste som kan oppdatere Dart-koden i en app som allerede er ute, på både iOS og Android. Bilder, fonter og native kode kan ikke oppdateres på den måten.
Når Flutter er det beste valget
Flutter passer godt når appen har et visuelt uttrykk som ikke ligner iOS eller Android, for eksempel et spillpreget grensesnitt eller en merkevare der hver skjerm er tegnet fra bunnen. Da er det en fordel at Flutter tegner alt selv og at resultatet blir likt overalt.
Det er også et godt valg hvis teamet som skal eie appen etterpå allerede skriver Dart, eller hvis samme kode skal kjøre på Windows, macOS og Linux. Et byrå som har laget gode apper i Flutter, er et trygt valg selv om vi bruker React Native. Be om å se appene de har ute i dag, og spør hvem som drifter dem.
Hvorfor vi bruker Expo og React Native
Vi lager både apper og nettsider, og nettsidene skrives i Next.js med TypeScript. Med React Native bruker vi samme språk på begge, og den samme utvikleren kan jobbe på hele produktet. I Unveil lager vertene arrangementer og betaler på nettsiden, mens gjestene bruker appen.
Expo er det React Native-teamet selv anbefaler for nye apper. Det tar seg av bygg, innsending og oppdateringer, så mer av tiden går til selve appen.
Når React Native ikke strekker til, skriver vi Swift. Widgeten på hjem- og låseskjermen i QuitNic er skrevet i Swift. Det samme er App Clip-en i Unveil, som lar gjester bli med fra en QR-kode uten å laste ned appen, og som vi holder under Apples grense på 15 MB.
Betalingsskjermene i QuitNic styres i Superwall. Vi kan endre dem uten å sende inn en ny versjon til App Store og Google Play.
Hva valget betyr for pris og for hvem som kan ta over koden
Prisen på en første versjon avhenger mest av hvor mye appen skal gjøre. Hos oss starter en app på 150 000 kr eks. mva., og en første versjon havner som regel mellom 150 000 og 500 000 kr. Se prisene våre for hva som er med.
Rammeverket påvirker mer hva det koster å holde appen ved like. Med Expo kan vi rette små feil samme dag uten å sende appen til ny godkjenning, og kode som deles med nettproduktet trenger bare å skrives én gang. Drift og videreutvikling hos oss starter på 5 000 kr i måneden.
Koden ligger i et repository dere eier. Skal dere bytte leverandør eller ansette egne utviklere, er det lettere å finne folk som kan TypeScript enn Dart. Expo er gratis og åpen kildekode, og byggetjenestene i EAS er valgfrie, så dere er ikke bundet til oss eller til Expo. Les mer om hvordan vi jobber med apputvikling.