App

Ulike rammeverk for apputvikling

Native, Hybrid, Low-Code/No-Code eller Flutter? Ulike utviklingsmetoder du kan velge for apputvikling.

Apputvikling

I dagens digitale tidsalder er mobilapper blitt en viktig del av vårt digitale liv. Enten det er for jobb, underholdning eller kommunikasjon, er vi avhengige av apper for et enklere liv. Det er en økende etterspørsel etter mobilapper, og før du setter i gang med å lage en må du ta en viktig beslutning: Hvordan skal du bygge appen?

Det finnes flere faktorer du bør ta i betraktning ved valg av metode, og gjennom dette innlegget ønsker vi å ta en nærmere titt på forskjellige metoder, og hjelpe deg med å velge den riktige for ditt prosjekt!

Native-utvikling: For god ytelse og tilgang til plattformfunksjoner

Native-utvikling går ut på å utvikle en app for en bestemt plattform, som iOS eller Android, ved hjelp av plattformens eget plattformspråk (Swift for iOS og Kotlin eller Java for Android). Denne metoden gir utviklerne tilgang til alle funksjonene og egenskapene til den fysiske enheten, som GPS, kamera og akselerometer. Man vil kunne oppnå en bedre ytelse ved å utvikle Native, noe som medfører at den vil oppleves rask og responsiv. 

Selv om Native-utvikling gir en god ytelse og bedre integrering med enhetens fysiske komponenter, vil det være ulemper forbundet med denne metoden. Kostnadene for å lage denne typen applikasjon vil være høye, da man må utvikle en egen app separat for både iOS og Android. Dette medfører to ulike kodebaser som både skal utvikles, videreutvikles og vedlikeholdes separat, noe som øker utviklingstiden og veien til markedet blir større. Målgruppen vil også være begrenset til den bestemte plattformen.

Hybrid-utvikling: For å spare kostnader og nå ut til flere plattformer

En Hybrid-app utnytter teknologi fra både webutvikling og native utvikling og har en felles kodebase, noe som gjør at applikasjonen kan brukes på både iOS og Android. Hybrid-utvikling vil være billigere enn Native-utvikling, da utviklingstiden er kortere. Det betyr også at man kan nå ut til en større målgruppe fordi appen kan kjøre på flere plattformer.

Det er derimot noen ulemper forbundet med Hybrid-apper. Man vil oppleve noe dårligere ytelse i disse applikasjonene da det vil ligge et ekstra lag mellom appkoden og den mobile plattformen. Det vil også være begrenset tilgang til plattformspesifikke funksjoner, som igjen kan påvirke brukeropplevelsen i noen tilfeller. 

Low-Code/No-Code: Enkel, men begrenset, app-utvikling

Low-Code-utvikling innebærer å levere applikasjoner med minimal manuell programmering. Utvikleren kan ta i bruk forhåndslagde komponenter eller visuelle elementer, og deretter tilpasse disse ved å skrive noen få linjer kode. No-Code-Utvikling lar deg bygge en app ved hjelp av flytt-og-slipp funksjonalitet og visuell veiledning. Det kreves dermed minimalt, eller ingen, kunnskap eller erfaring med kode.

Å utvikle en app ved hjelp av Low-Code/No-Code vil ha begrensninger. Med mindre man kan kode egne funksjoner og moduler, vil man være svært begrenset til det plattformen allerede tilbyr, og det vil være vanskelig å skreddersy applikasjoner til spesifikke behov. Dette kan være et stort hinder dersom man ønsker å lage mer avanserte applikasjoner. Dessuten må man også beregne kostnader i form av abonnementsavgift, lisenser og andre avgifter for å få tilgang til funksjoner.

Flutter: Utviklingsplattform som revolusjonerer app-utviklingen

I forbindelse med Googles lansering av Flutter i 2018 tok de utviklerverden med storm. Flutter er en utviklingsplattform (SDK - Software Development Kit) som kan brukes til å utvikle alt fra små til store applikasjoner. Man vil få naturlig hastighet, takket være det faktum at applikasjonen er bygget direkte til ARM maskinkode, ved å bruke Native-kompilator. Apper laget med Flutter vil starte og kjøre raskt, med et felles programmeringsspråk for alle plattformer. Flutter støtter også web og desktop, og kan kjøre på alle plattformer fra én enkel kodebase. Vi har dog erfart at det ikke er helt modent for webutvikling enda på grunn av initiell loading tid for web-produktet.  Man trenger ikke å bekymre seg for å tilpasse oppførselen på iOS og Android, da Flutter har en egen render-motor for opptegning på skjermen. Brukergrensesnittet vil se helt likt ut på begge plattformene, med mindre man ønsker at det ser ulikt ut for de ulike plattformene - da har man også mulighet til dette. Flutter har også Hot Reload - en funksjon som gjør det mulig for utviklere å gjøre endringer i appen mens den kjører, uten å måtte starte den på nytt. Endringer blir vist i appen fortløpende mens endringene blir gjort, noe som er svært tidsbesparende.

For kundene ligger fordelene med Flutter i enkelhet og pålitelighet. Mindre kode gir mindre rom for feil, og det vil dermed være rimeligere å rette opp i disse. Som kunde kan man enkelt få en web-versjon av en del, eller hele appen, om det ønskelig. Ved å velge Flutter vil man få en robust og brukervennlig app på rekordtid, og til langt lavere kostnad enn ved bruk av andre verktøy. Med flutter kan man stole på at appen vil være brukervennlig og pålitelig både for iOS og Android. 

Ebay, Google Pay, Google Ads, Toyota og Cryptograph er eksempler på apper som er utviklet ved hjelp av Flutter. 

Dersom du ønsker å utvikle en app eller web-løsning for deg eller din bedrift, ta kontakt med oss, så finner vi den beste og mest effektive løsningen for deg!

Skrevet av:

Une Newermann Wick og Michelle Sæther

Kilder:

https://www.mendix.com/low-code-guide/

https://flutter.dev/?gclid=CjwKCAjwuqiiBhBtEiwATgvixJyFnuv8NTiXJYcAtXBvGkEFpvQIEYgmGA3MPPtYvC-696Ht7hfWghoCPG8QAvD_BwE&gclsrc=aw.ds

https://uxcam.com/glossary/native-app

https://www.upwork.com/resources/hybrid-app

Andre artikler

Coockiebanner