Apputvikling

Apputvikling med React Native

React Native lar deg bygge én app for iOS og Android. Vi forklarer hvordan det fungerer, hva du sparer, hvor grensene går, og hva som er verdt å vite før du velger det.

· Oppdatert

Samme app vist på en iPhone og en Android-telefon side om side

React Native er utgangspunktet vårt for de fleste mobilapper, og det er verdt å forklare hvorfor uten å havne i teknisk sjargong.

Kort sagt lar det oss skrive appen én gang og kjøre den på både iPhone og Android, uten at brukeren merker forskjell på den og en app bygget separat for hver plattform. Det er ikke en sannhet uten forbehold, men den holder for de aller fleste prosjekter.

Hvordan det skiller seg fra en nettside i en app

Dette er den vanligste misforståelsen, og den er verdt å rydde opp i.

Noen kryssplattformløsninger fungerer ved å pakke en nettside inn i en app. Resultatet ser ofte ut som en nettside, og oppleves som en nettside, fordi det er en nettside.

React Native gjør noe annet. Grensesnittet tegnes med de samme komponentene som en native app bruker. En knapp er en ekte knapp, en liste ruller slik lister ruller på den plattformen, og tastaturet oppfører seg som brukeren forventer. Det er derfor resultatet føles riktig på begge plattformer, framfor å føles fremmed på begge.

Hva du faktisk sparer

Den åpenbare besparelsen er at første versjon koster mindre. To separate native apper koster typisk 60 til 80 prosent mer å bygge enn én felles kodebase.

Men den største besparelsen kommer etterpå, og den er lett å undervurdere. Hver feilretting, hver justering etter tilbakemeldinger fra brukerne, og hver tilpasning til nye operativsystemversjoner må gjøres to steder hvis du har to kodebaser. Over tre eller fire år samler den forskjellen seg opp til noe betydelig.

Det er også en fordel som ikke handler om penger: de to plattformene holder seg like. Når alt bygges to ganger, har appene en tendens til å skli fra hverandre. Én funksjon kommer først på iOS, en feil rettes bare på Android, og etter et par år har du to litt ulike produkter å forholde deg til.

Hvor grensene går

Det finnes tilfeller der React Native ikke er riktig, og de er greie å kjenne igjen på forhånd.

Apper som behandler lyd eller video i sanntid, tunge spill med egen grafikkmotor, og løsninger som kjører avansert bildebehandling direkte på enheten, drar reell nytte av å ligge nærmere maskinvaren.

Det samme gjelder apper som er dypt integrert i plattformens økosystem, med klokkeapp, avanserte widgets og lignende. Her finnes det ofte løsninger, men de koster mer arbeid enn de ville gjort native.

Og skal appen bruke en helt ny plattformfunksjon fra dag én, kan du måtte vente til rammeverket støtter den.

Verdt å merke seg: når en enkelt del av appen trenger native kode, kan du skrive akkurat den delen native og la resten være felles. Det er ikke et alt-eller-ingenting-valg.

Hva det betyr for prosjektet ditt

I praksis betyr valget at dere får begge plattformer for omtrent prisen av én, og at endringer etter lansering går raskere fordi de bare gjøres én gang.

Det betyr også at det er lettere å finne folk som kan vedlikeholde løsningen senere. React Native bruker samme språk som React, som er det vanligste verktøyet for webutvikling. Har dere allerede en webløsning bygget med React, kan de samme utviklerne jobbe på begge, og logikk kan deles.

Det du bør vite før du velger

Rammeverket oppdateres jevnlig, og en app som ikke følger med, blir tyngre å oppdatere jo lenger man venter. Dette er ikke spesielt for React Native, men det er verdt å ha en plan for. Vi anbefaler å oppdatere jevnlig i små steg framfor å ta et stort hopp annethvert år.

Vær også oppmerksom på tredjepartspakker. Det finnes en pakke for nesten alt, og det er fristende å bruke dem. Hver pakke er noe som må vedlikeholdes av noen andre, og som kan slutte å bli vedlikeholdt. Vi holder listen kort med vilje, og velger pakker som er godt etablert.

Når du bør vurdere noe annet

Skal løsningen brukes ved en skjerm i arbeidstiden, og trenger ikke kamera, offline-bruk eller pålitelige varsler, er en webapplikasjon ofte både raskere og rimeligere. Du slipper app-butikkene helt.

Har appen reelle ytelseskrav av typen nevnt over, er native riktig, og da sier vi det.

Vi har gått gjennom hele avveiningen i native, hybrid eller webapp.

Hva en app koster å bygge slik

En enkel app for både iOS og Android, uten innlogging, ligger på 50 000 til 100 000 kroner med skreddersydd design inkludert. Trenger den innlogging og en backend, er nivået 80 000 til 300 000 avhengig av hvor mye funksjonalitet som skal med. Du kan sette sammen et anslag i priskalkulatoren, eller lese mer om hva som driver prisen i hva koster det å lage en app i Norge.

Vil du diskutere om dette passer for prosjektet ditt? Se hvordan vi jobber med apputvikling, eller ta kontakt.