Native, hybrid eller PWA – vad ska du välja?
Ska du bygga en app finns det tre vägar att välja mellan: native, hybrid eller PWA. Vilken som är rätt beror på målgruppen, funktionerna och budgeten. Här är skillnaderna och hur du resonerar dig fram till rätt val.
Frågan om native eller hybrid är en av de vanligaste vi får när någon vill utveckla en app. Något universalsvar finns inte, men för ett enskilt projekt går det nästan alltid att landa i ett tydligt svar.
Native app: bäst prestanda, dubbla kodbaser
En native app byggs för en plattform i taget, Swift för iOS och Kotlin för Android. Du får full åtkomst till telefonens hårdvara och tillgång till plattformarnas nyheter samma dag de släpps. Priset är att allt byggs två gånger. Två kodbaser betyder nästan dubbel utvecklingskostnad, och varje ny funktion ska sedan underhållas på två ställen.
Native är rätt när prestandan verkligen är affärskritisk: spel, tung grafik, AR eller appar som ligger tätt mot hårdvaran.
Hybridapp: en kodbas, två plattformar
En modern hybridapp, eller cross-platform-app som det egentligen heter, byggs i ett ramverk som Flutter eller React Native och kompileras till riktiga appar för båda plattformarna från samma kodbas.
Mycket har hänt här de senaste åren. Flutter kompilerar till native-kod och ritar sitt eget gränssnitt, och resultatet är svårt att skilja från en native-app, till ungefär halva kostnaden. Blanda inte ihop det med de gamla webview-lösningarna, en webbsida i ett appskal, som gav ordet hybrid dåligt rykte. De var sega och begränsade och är sällan rätt val i dag.
För de allra flesta konsument- och företagsappar är det här vägen: nyheter, medlemsappar, e-handel, interna verktyg. Det var så vi byggde både HockeyNews-appen och Biopasset, och vi har skrivit mer om varför Codebrain väljer Flutter framför andra ramverk.
PWA: webben som känns som en app
En progressive web app är en webbapp som beter sig som en app. Den kan installeras på hemskärmen, fungera offline och skicka pushnotiser, numera även på iOS om än med begränsningar. Någon app-butik behövs inte. Appen är en webbsida.
Styrkan är priset och enkelheten: en kodbas för webb och app, inga butiksgranskningar, alla användare på senaste versionen. Svagheten är hårdvaruåtkomsten och synligheten. Appen finns inte i App Store, och push och offline fungerar sämre på iOS än på Android. För innehållstunga tjänster, portaler och tidiga MVP:er är det ändå ofta precis rätt nivå.
Tre frågor som avgör valet
- Var finns dina användare? Ska appen upptäckas i App Store och Google Play, eller når du dem via webben ändå?
- Vilka funktioner kräver du? Pushnotiser, offline-läge, kamera, BankID, betalningar? Skriv listan innan du väljer teknik. Ofta avgör den valet åt dig.
- Vad är budgeten, nu och om två år? Underhållet över tid skiljer mer mellan alternativen än själva utvecklingen. Räkneexempel finns i guiden Vad kostar det att utveckla en app?
Var vi själva landar
Nio projekt av tio blir Flutter hos oss: native-känsla och native-prestanda till en kodbas kostnad. PWA rekommenderar vi när webben redan är hemmaplan och App Store inte tillför något. Ren native tar vi till när kraven faktiskt motiverar det, inte av gammal vana.
Vill du bolla var ditt projekt hör hemma? Hör av dig, eller läs vidare om vår apputveckling.