Hva er en native app?
En native app er bygget spesifikt for iOS eller Android med plattformens egne språk og verktøy. Det gir full ytelse, tilgang til alle enhetsfunksjoner og en følelse som stemmer nøyaktig med plattformen. Prisen er at du trenger to separate kodebaser hvis appen skal finnes på begge plattformene. For de fleste forretningsapper har cross-platform i praksis visket ut forskjellen.
Når man begynner å snakke om apputvikling, dukker begrepet «native app» fort opp, ofte stilt opp mot «hybrid» eller «cross-platform» (kryssplattform). Her rydder vi opp i hva en native app faktisk er, hva den gir deg, og hva den koster, uten unødvendig sjargong.
Definisjonen
En native app er en app bygget spesifikt for én plattform, iOS eller Android, med plattformens egne programmeringsspråk og verktøy. En native iOS-app og en native Android-app er altså to atskilte ting, bygget hver for seg.
Ordet «native» understreker at appen snakker plattformens eget språk direkte, uten et mellomlag som oversetter. Det er det motsatte av en app som bygges én gang og deretter kjører på flere plattformer via et felles rammeverk.
Hva det gir deg
Fordelene med den native tilnærmingen handler om kontroll og nærhet til plattformen.
- Full ytelse. Appen kjører så raskt plattformen tillater, uten mellomlag.
- Alle enhetsfunksjoner. Kamera, sensorer, varsler og det nyeste plattformen tilbyr, er direkte tilgjengelige.
- Plattformens nøyaktige følelse. Grensesnittet følger standarden til punkt og prikke slik at appen føles «riktig» for den som er vant til telefonen sin.
For apper med spesielt høye krav, som tung grafikk, avansert bruk av maskinvaren eller ekstrem ytelse, er dette avgjørende. Der gir native utvikling mest kontroll over sluttresultatet.
Prisen: to kodebaser
Fordelene har en tydelig kostnad. Siden iOS og Android bruker forskjellige språk og verktøy, må du bygge appen to ganger hvis den skal finnes på begge plattformene: én kodebase for iOS og én for Android.
I praksis betyr det:
- Mer utviklingsarbeid, ofte med to forskjellige typer kompetanse.
- To versjoner som må vedlikeholdes parallelt når noe endres.
- Høyere kostnad både for å bygge og for å forvalte over tid.
Trenger du bare én plattform, er dette ikke noe problem. Skal du nå både iOS og Android, blir det derimot en betydelig forskjell i pris og arbeid sammenlignet med å dele koden.
Native, hybrid og cross-platform i korte trekk
For å sette native i sammenheng er det verdt å stille alternativene ved siden av hverandre.
| Type | Kort beskrivelse |
|---|---|
| Native | Bygges separat per plattform med plattformens egne verktøy; maksimal ytelse, to kodebaser |
| Cross-platform | Bygges én gang og kjører på begge; deler det meste av koden og senker kostnaden |
| Hybrid | Bygger i stor grad på webteknologi pakket som en app |
Trenger du egentlig native?
Dette er det viktigste å ta med seg: For de fleste forretningsapper har cross-platform i praksis visket ut grensen. Rammeverk som React Native lar deg bygge en app som kjører på både iOS og Android, med en kvalitet og følelse som brukeren sjelden kan skille fra en native app. For en app med kontoer, lister, skjemaer, varsler og betaling er det godt nok.
Native utvikling blir først aktuelt når du har høye ytelseskrav eller trenger dyp integrasjon med enhetens maskinvare. Ta derfor utgangspunkt i hva appen faktisk skal gjøre, i stedet for å forutsette at native alltid er best.
En konkret måte å avgjøre det på
Spør deg selv hva appen skal gjøre når den jobber som hardest. En app som viser innhold, håndterer kontoer, tar imot betalinger og sender varsler, stiller ingen ekstreme krav. Der strekker cross-platform godt til, og du sparer både tid og penger på å bygge én gang i stedet for to.
En app som derimot viser avansert 3D-grafikk, behandler video i sanntid eller styrer spesialisert maskinvare, heller mer mot native. Der kan den siste ekstra ytelsen eller den dype maskinvarekoblingen være verdt merkostnaden ved to kodebaser.
En vanlig misforståelse er at «ekte» apper må være native. Slik er det ikke. Mange av appene du bruker daglig, er bygget med cross-platform-teknologi, og du merker det ikke. Kvaliteten ligger i hvor godt appen er bygget, ikke i merkelappen på teknologien bak.
Kort oppsummert
En native app er bygget for en bestemt plattform med plattformens egne verktøy. Den gir full ytelse og nøyaktig plattformfølelse, men koster to kodebaser for å dekke både iOS og Android. For de aller fleste forretningsapper velger man i dag cross-platform og får samme opplevde kvalitet til lavere kostnad, mens native spares til tilfellene der ytelse eller maskinvare virkelig krever det.
Er du usikker på hvilken tilnærming ideen din krever, hjelper vi i Weapp gjerne til med å finne ut av det. Ta kontakt med en kort beskrivelse, så gir vi deg en klar anbefaling.
Ofte stilte spørsmål
Hva betyr det at en app er native?
At den er bygget spesielt for én plattform, iOS eller Android, med plattformens egne programmeringsspråk og verktøy. En native iOS-app og en native Android-app er altså to separate apper. Ordet native understreker nettopp at appen snakker plattformens eget språk i stedet for å gå via et mellomlag.
Hva er fordelen med en native app?
Full ytelse, tilgang til alle enhetens funksjoner og en følelse som følger plattformens standard nøyaktig. For apper med høye ytelseskrav eller behov for dyp integrasjon med maskinvaren gir native utvikling mest kontroll. Det er derfor de mest krevende appene ofte bygges native.
Hva er ulempen med native utvikling?
At du trenger to kodebaser hvis appen skal finnes på både iOS og Android fordi plattformene bruker forskjellige språk. Det betyr mer arbeid, ofte to typer kompetanse og høyere kostnad for å bygge og vedlikeholde. Det er hovedgrunnen til at mange velger cross-platform i stedet.
Hva er forskjellen på en native app og en cross-platform-app?
En native app bygges separat per plattform, mens en cross-platform-app bygges én gang og kjører på begge. Cross-platform deler det meste av koden og blir derfor ofte billigere når begge plattformene skal dekkes. Native gir på sin side maksimal ytelse og den mest nøyaktige plattformfølelsen.
Trenger jeg en native app?
For de fleste forretningsapper, nei. Cross-platform-rammeverk som React Native har visket ut grensen og strekker godt til. Native blir først aktuelt ved høye ytelseskrav eller dyp maskinvareintegrasjon. Ta utgangspunkt i hva appen skal gjøre, i stedet for å forutsette at native alltid er best.