Teknologi

Hva er en hybridapp, og hvordan bygger du den best?

Sigurd Heggemsnes

sigurd@kult.design

Publisert: 11. februar 2019
Oppdatert: 4. august 2023

Populariteten til hybridapper har vokst de siste årene. På mange måter er de som alle de andre appene på telefonen din. De lastes ned til enheten, og kan stort sett utføre de samme oppgavene som en native-app.

Hybridapper kan også sammenlignes med nettsider; de er nemlig bygget med en kombinasjon av HTML, CSS og JavaScript. De blir deretter kjørt gjennom enhetens ‘WebView’, som lar hybridappene bruke enhetens innebygde funksjoner som for eksempel kamera, kalender og kontaker.

Hva er et "WebView"?

Kort forklart så er et ‘WebView’ et filbibliotek som lar utviklere vise nettinnhold i en native-app. Det er blant annet dette som lar deg åpne en nettside i apper som Facebook, uten å måtte åpne en ekstern nettleser – Det er her innholdet til en hybridapp vil vises.

Hvordan er en hybridapp bygget?

Hybridapper bruker en kombinasjon av HTML, CSS og JavaScript. Men for å åpne den ytelsen sluttbrukeren krever i en app, må man som oftest også ta i bruk et rammeverk.

Det kan være vanskelig å bestemme seg for hvilket rammeverk å bruke, da det finnes flere titalls som alle påstår de er ‘best i bransjen’. Men de siste årene har det vært et par stykker som har hevet seg over konkurrentene.

Ionic

Ionic er et svært populært rammeverk med god ytelse og et fint utseende. Det har i tillegg god støtte for Cordova, gode terminalkommandoer, og et veldig hjelpsomt utviklersamfunn.

Om man derimot vil ta nytte at Ionic’s fulle potensiale må man ha forkunnskaper fra AngularJS, som rammeverket er bygget på – dette kan gi en brå læringskurve for nybegynnere.

React Native

Dette er et relativt nytt rammeverk som bygger på React-rammeverket. Hensikten med React Native er å bygge native-apper, i stedet for hybride som kjører i ‘WebView’, men utviklingen blir fortsatt gjort i kun React og JavaScript.

Dette resulterer i applikasjoner som både kjører- og ser ut som native-apper, men gir også en brå læringskurve for de som er nye til React.

jQuery mobile

Dette er et av de eldste – og helt ærlig ikke et av de beste, rammeverkene for hybridutvikling.

jQuery mobile lager ikke apper som ser native ut på verken iOS eller Android, men har god ytelse og ekstremt god Cordova-støtte. I tillegg er det et av de enklere rammeverkene å lære seg ettersom det kun bygger på jQuery.

Apache Cordova

Ved siden av dette er de fleste hybridapper i tillegg bygget på platformen Apache Cordova. Denne plattformen bygger en veldig enkel native-app, som tar i bruk enhetens ‘WebView’, og viser innholdet i koden den får levert.

I tillegg tilbyr Cordova et stort sett med JavaScript API’er som gir tilgang til enhetens forskjellige funksjoner gjennom utvidelser – bygget med native-kode. Mens mange av de tilgjengelige utvidelsene er innebygd finnes det også mange, og nyttige utvidelser, som blir bygget og opprettholdt av Cordovas utviklersamfunn. Disse kan finne i Apache Cordova Utvidelsesregister.

Når burde man velge hybridutvikling?

Det er mange grunner til å velge hybridutvikling, likt som at det er mange grunner til å velge native-utvikling. Det er derfor viktig å ta for seg både de ikke-tekniske og tekniske fordelene for begge alternativene – i tillegg til web – og måle de opp til hva målet for deres app er.

  • Hvilke enheter vil dere nå ut til?
  • Er det nødvendig å distribuere applikasjonen over app-butikker?
  • Er dere ute etter å ta i bruk enhetens funksjoner?
  • Hva er den tekniske kompetansen til teamet ditt?

Det viktigste å huske når det kommer til hybridutvikling, er at det ikke finnes èn riktig metode å gå frem på. Det er et hav av muligheter, og man må evaluere hvilke av disse mulighetene som vil passe best for sitt team.