Det har eksplodert med nye apper og i det siste har det vært mye diskusjon rundt native apper, web applikasjoner og progressive web applikasjoner. La oss se nærmere på hva som skiller dem.
Selv om det er superpopulært å lage apper til iPhone eller Android, er ikke det alltid den beste løsningen. Hva skiller så EGENTLIG apper fra webapplikasjoner og når er det smart å utvikle det ene fremfor det andre?
Brukere har høyere forventninger til applikasjoner enn noen gang ettersom mer og mer blir digitalisert. Det skal gå raskt, det skal være lett å ta i bruk og det skal gjøre en konkret jobb, løse et problem eller formidle et stykke informasjon.
Som mye annet er det en miks av smak og behag og krav til funksjonalitet, og ikke minst hva du har av budsjett. Allikevel, er det noen tydelige fordeler og ulemper med native applikasjoner vs web applikasjoner.
En mobilapplikasjon eller native applikasjon, best kjent som en app, kjøres direkte i iOS eller Android, som er operativsystemene. Denne fungerer på tilsvarende måte som de applikasjonene som følger med mobilen. De har tilgang til all standard funksjonalitet på telefonen som kameraet, GPS, kontakter osv. gjennom mobilens SDK (Software Development Toolkit).
En av de største fordelene til mobilapplikasjoner er at App Store og Google Play Store blir brukt som distribusjonskanal. Dette gjør at det er enklere for brukeren å finne og installere applikasjonene, enn om det bare hadde vært markedsført på en vanlig nettside.
Husk at Apple går igjennom og skal godkjenne alle applikasjoner som distribueres gjennom App Store. Denne prosessen kan ta tid og det blir fort mye ekstra arbeid for å få applikasjonen godkjent.
Det er viktig å huske på at en app ikke er kompatibel på tvers av mobiler, men må tilpasses plattformen, altså iOS eller Android. En annen fordel er at deler eller hele applikasjonen kan brukes offline.
En web applikasjon er faktisk ikke en applikasjon, men en nettside som er optimalisert for å vises på mobil. Når du lager en web applikasjon for mobil, er det viktig at den faktisk føles som en applikasjon og ikke en nettside.
Det er blitt mer vanlig med hybrid applikasjoner som er en blanding av mobil- og web applikasjon. I praksis så er det en vanlig app der du bruker innholdet fra en web applikasjon. På denne måten kan du få tilgang til de innebygde funksjonene i SDK og bruke App Store eller Play Store. Dette kan være et godt alternativ, da du kan bygge mye av applikasjonen som en web applikasjon og det som trengs som native.
Eksempelvis kjører VG+ native på innlogging for at brukeren skal få tilgang til lesestoffet, mens resten av innholdet ligger i nettleseren din, altså web applikasjonen. Med andre ord er VG+ en hybrid applikasjon som kombinerer native og web.
En av de største fordelene med web applikasjoner er at det er mange flere som har kompetansen til å utvikle det. Resultatet er gjerne at det tar kortere tid. Visningen er basert på HTML/CSS og JavaScript, som også brukes til visning av vanlige nettsider.
Har du allerede en nettside er det også som regel enkelt å “løfte over” innholdet i en web applikasjon. Apple har laget noe som heter “web-clip”, som gjør det mulig for brukeren å legge inn en snarvei til web applikasjonen på startsiden til mobilen. Med HTML5 kan du lagre lokalt, som gjør at man kan lagre deler av applikasjonen direkte på mobilen.
Hvis du tenker på plattform-spesifikke apper og web applikasjoner i form av funksjonalitet og rekkevidde, kan vi si at native apper representerer det beste av funksjonalitet, mens web applikasjoner gir det beste innen rekkevidde. Så hvor passer progressive web applikasjoner inn?
En progressiv web applikasjon (PWA) er en web applikasjon med forbedret funksjonalitet og pålitelighet som gjennom moderne nettlesere og APIer kombinerer det beste fra native- og web applikasjoner.
Med progressive web applikasjoner kan det du bygger installeres av hvem som helst, hvor som helst, på hvilken som helst enhet med en enkelt kodebase. Det gir deg en unik mulighet til å levere en nettbasert opplevelse brukerne vil elske!
En installert progressiv web app kjøres i et frittstående vindu, istedenfor en fane i nettleseren. De kan startes fra brukerens startskjerm, dock, oppgavelinje eller hylle. Det er mulig å søke etter dem på en enhet og hoppe mellom dem med en "app switcher", som gjør at de føles som en del av enheten de er installert på.
Nettet i dag gir i seg selv mange muligheter. F.eks. kan du bygge en hyperlokal video meldingsapp med WebRTC, geolokasjon og push-varsler. Du kan gjøre den appen installerbar og ta samtalene virtuelt med WebGL og WebVR. Med introduksjon av WebAssembly kan utviklere benytte seg av andre økosystemer, slik som C, C++ og Rust, og bringe tiår med arbeid og utvikling til nettet. Appen Squoosh bruker dette for sin avanserte bildekomprimering.
Bedrifter som har lansert progressive web applikasjoner har sett imponerende resultater. Twitter har opplevd 65% økning i antall sider per sesjon, 75% flere Tweets og 20% nedgang i bounce rate (prosentandel av trafikk som forlater en nettside uten å utføre en handling) - samtidig som størrelsen på appen er redusert med 97%! Nikkei ser 2.3 ganger mer organisk trafikk, 58% flere abonnenter og 50% flere daglig aktive brukere. Hulu erstattet deres plattform-spesifikke skjermopplevelse med en progressiv web applikasjon og så en økning på 27% i besøk fra tidligere brukere.
Progressive web applikasjoner er dyktigere enn noen gang og mulighetene vokser i takt med nye og kommende APIer og funksjonalitet i nettlesere.
Begge alternativer har uten tvil sine fordeler, men også ulemper. Hva du bør velge vil være avhengig av ønsket funksjonalitet og rekkevidde, så vel som tilgjengelige ressurser (tid, penger osv.)
Native applikasjoner bruker programmeringsspråket for hver plattform (Objective-C og Swift for iOS og Java for Android). For native applikasjoner er ASO prosessen for å bli høyere rangert i søkeresultater, mens web applikasjoner og PWA bruker SEO.
HTML, CSS, JavaScript, Ruby osv. og opererer via en nettleser.
HTML, CSS og JavaScript. En perfekt blanding av opplevelsen til web- og mobil applikasjoner for å gi begge plattformer til sluttbrukere.
Du bør vurdere en progressiv web applikasjon dersom:
Du bør vurdere en mobil (native) app dersom:
Du bør tenke nøye gjennom hva du trenger av funksjonalitet og hvilken plattform applikasjonen skal distribueres på. Ofte er det hensiktsmessig å utvikle en liten applikasjon som tar utgangspunkt i hovedproblemet eller behovet til brukerne.
På lik linje som når du skal bygge hus. Gjør et godt grunnarbeidet i forkant, så blir jobben etterpå enklere og du slipper å gjøre det to ganger. Det er verdt å nevne at du bør sette opp automatisert testing for å raskt fange opp feil og mangler som oppstår. Det kan du lese mer om her.