Webbapp eller nativeapp?

Inom apputveckling är ett av de mest avgörande besluten om man ska skriva dem för en specifik plattform eller inte. Det finns klara fördelar med nativeappar för till exempel iOS, men det finns även fördelar med webbappar. Sådana appar använder tekniker som html5 för att kunna användas på vilken enhet som helst. Låt oss titta närmare på de två alternativen.

Native

När appen är skriven i native code för en specifik plattform så går det att använda alla inbyggda funktioner på enheten. Det kan handla om kamera, GPS, att lagra bilder lokalt eller olika visuella element som listor. Dessutom brukar välskriven native code leda till bra prestanda. Därför är det att föredra för mer krävande appar som till exempel hanterar mycket grafik. De flesta spel är till exempel native appar. En annan fördel är att de kan användas offline. Problemet är att det lätt blir tidskrävande att utveckla appen för flera plattformar. Även underhåll och uppdateringar blir mer komplicerat.

Fördelar

  • Ofta snyggare visuellt utseende
  • Kan använda alla inbyggda funktioner
  • Lämpligt för krävande appar
  • Möjlighet att användas offline

Nackdelar

  • Måste utveckla för flera olika plattformar
  • Användaren måste installera/uppdatera appen
  • Ibland är det svårt att få appen godkänd för plattformens appbutik

Webb

Det här är appar som körs likt en webbplats direkt i webbläsaren. Med tekniker som html5 kan de i stort sett vara plattformsoberoende. På senare år har prestandan också blivit mycket bättre. I många fall är det svårt att ens se någon skillnad mot en native app. Undantaget är appar som använder avancerad 3D-grafik, till exempel en hel del moderna mobilspel.

Webbläsarna blir också hela tiden bättre. Säkerhetskraven gör att de inte kan komma åt inbyggda funktioner hur som helst, men trenden är begränsningarna blir färre och färre. Det gör att webben har blivit ett allt mer attraktivt alternativ för apputvecklare. Den överlägset största fördelen är att få en gemensam kodbas för alla plattformar. Att underhålla och göra uppdateringar blir väldigt enkelt och kostnadseffektivt. När de inte ska publiceras i en appbutik behöver de heller inte gå igenom någon granskningsprocess, men det kan göra att vissa användare blir tveksamma om appen är säker att använda eller inte.

Fördelar

  • Plattformsoberoende så chans att nå många användare
  • Behöver bara utvecklas för webben
  • Användaren har inget behov av att installera/uppdatera appen
  • Kan enkelt göras kompatibel med äldre mobila enheter
  • Massor av möjligheter att monetisera appen
  • Appen är inte beroende av godkännande i en appbutik

Nackdelar

  • Begränsad när det gäller att använda enhetens inbyggda funktioner
  • Fler frågetecken kring säkerhet och trygghet
  • Prestandan är sämre för krävande appar

Hybridappar kombinerar båda alternativen

Ytterligare ett alternativ är vad som brukar kallas hybridapp. Det kombinerar webb och native. Appen byggs fortfarande för webbläsare, men läggs i ett app-skal. Appen kan också ofta använda plugins som ger tillgång till kamera, push-notifikationer mm. Ofta kan den se ut och fungera liknande en native app, förutom att de egentligen körs i en webbläsare och inte har samma prestanda. Ett exempel är att många bankappar har utvecklats som hybridappar. En bank vill gärna ha en gemensam kodbas (färre buggar, lättare att underhålla), men de vill även kunna erbjuda den som nedladdningsbar app för personer med iPhone eller Android.

Vad är bäst?

Mycket handlar givetvis om vad som passar det aktuella projektet bäst. Allt handlar inte om vad som blir enklast och billigast för utvecklingen, utan också om vad som kan ge störst spridning och bäst användarupplevelse. Det är också viktigt att tänka på att det enda inte utesluter det andra. Kanske kan appen först fungera som en webbapp i en något förenklad version. Blir den populär går det att ta fram en version i native code för iOS och Android. Det kan också hända att appen skrivs enbart för en plattform. Blir den framgångsrik kan en del av vinsten gå till att ta fram versioner för andra plattformar.

Med andra ord finns inget tydligt rätt eller fel. Företaget måste göra en behovsanalys och noggrant väga olika alternativ mot varandra. I många fall behövs inbyggda funktioner som kameran, eller så är appen extremt krävande prestandamässigt. Då är det native som gäller. I andra fall är det viktiga att appen sprids snabbt och kan användas av vem som helst. Det skulle till exempel kunna vara en app som informerar eller marknadsför något. I så fall är sannolikheten stor att den fungerar bra som webbapp.