Publisert: Sep 22, 2017 Skrevet av: Helge Sverre Hessevik Liseth, Systemutvikler hos Guilty

Hybrid- vs native-app

Det er i dag flere måter å utvikle apper på. Før måtte man utvikle egne versjoner for hver plattform, men nå kan man lage apper som fungerer uavhengig av systemet de skal kjøre på. Her tar vi for oss de ulike alternativene og prøver å forklare de på en "folkelig" måte. 

Hva er en hybrid app?

En hybrid app er i bunn og grunn en nettside som kjører lokalt på android/ios-enheten og har tilgang til funksjonalitet som kamera, gps sensorer osv ved hjelp av teknologi som Apache Cordova.

Det som er fint med en slik teknologi er at det er enkelt for en tradisjonell webutvikler å benytte seg av og man unngår dermed å bruke lang tid på å sette seg inn i et nytt språk og plattform. I tillegg er programmeringen enklere og mer effektiv enn en ren native app.

Fordeler

En hybrid app har som regel mindre utviklingstid, da man utvikler appen en gang for alle plattformer. Dette fører naturligvis til at man sparer kostnader sammenlignet med å utvikle en app til hvert operativsystem. 

Ulemper
Hybrid er (litt) tregere enn native apps og har ikke like god tilgang til low-level funksjonalitet og hardware på samme nivå som native apps, dette er dog ikke et problem for en app med enkel funksjonalitet.

Populære rammeverk og verktøy: Phonegap og Ionic

Native app

En native app er en app som er utviklet for en spesifikk plattform (android, iOS, windows phone osv), med den teknologi som er anbefalt eller mest brukt for denne plattformen. F.eks på iOS er dette Swift eller Objective-C mens i android verdenen vil dette være Java eller Kotlin

Fordeler
Siden man bygger appen for en spesifikk plattform og ikke har et lag med abstraksjoner som man må forholde seg til, kan man utvikle en app som er mer optimalisert med tanke på fart og batteri. I tillegg kan man også benytte funksjonalitet som er plattformspesifikt (F.eks iPhone sin Touch ID) som bare er tilgjengelig på den plattformen. 

Ulemper
Ulempen med å bygge en native app er at det tar lengre tid, samt vil koste mer å lage flere versjoner av samme app (f.eks én utvikler på android og én utvikler på iOS), i motsetning til om man går for en hybrid app hvor én utvikler alene kan utvikle for alle plattformer uten at det koster mer eller tar lengre tid.

Hva skal man velge?

Vi anbefaler å starte med et kravspec. Det er ofte enklere å ta et valg når man vet hvordan appen skal fungere og hvor krevende den vil være for enheten. En god måte å tvinge seg til å tenke funksjonalitet er å designe "mockup" av vært steg i appen. Dette er noe som må utføres før appen programmeres. Det vil da være fornuft å ferdigstille denne prosessen før man velger teknologi.

Kan vi hjelpe deg med ditt neste prosjekt?