Å bygge programvare for mobile enheter
Definisjonen av utvikling av mobilapper kan være bred, og omfatter alle prosessene i byggeprosessen og utgivelsen av mobilappen. Definisjonen kan også være spesifikk, og bare vise til koding og distribusjon av appen. Denne artikkelen dekker begge definisjonene av utvikling av mobilapper, og fokuserer spesielt på å definere utvikling av mobilapper for personer som tar avgjørelser rundt eller er ansvarlige for hvordan selve programvaren bygges.
Når vi skal definere hva utvikling av mobilapper er, kan vi begynne med å definere hva «mobil» er. I vårt tilfelle bruker vi ordet om bærbare, elektroniske enheter som smarttelefoner, nettbrett, bærbare datamaskiner, smartklokker, e-lesere og håndholdte spillkonsoller. Med «app» mener vi ikke bare den opprinnelige programvaren som er innebygd i disse enhetene, men også de vanlige operativsystemene, plattformene og språkene som enhetene støtter. Som du senere vil lære, finnes det mange ulike måter å tilnærme seg utvikling av mobilapper på – og det er mange avgjørelser å ta.
Utviklingsprosessen for mobilapper
Prosessen for å bygge og lansere mobilapper ses ofte på i en rekke trinn eller faser. Fasene i utviklingsprosessen for mobilapper innebærer mange forskjellige personer og fagområder i en organisasjon, slik som forretninger, markedsføring, design og ingeniørarbeid. Fasene i utviklingsprosessen for mobilapper er:
- strategi
- planlegging
- utforming
- utvikling
- testing
- utgivelse
Hvor lang tid tar det å lage en mobilapp?
Organisasjoner bruker alt fra tre til ni måneder – eller mer der når det trengs – på å utvikle mobilapper. Omfanget og funksjonene til en app påvirker tidslinjen til utviklingsprosessen.
Strategi
Utviklingsprosessen for mobilapper begynner med å forstå hvorfor en mobilapp kan være en god løsning på et problem eller tilnærming til en mulighet, etterfulgt av å bestemme hva du skal bygge – og hvordan. I strategifasen etablerer organisasjoner appens mål og suksessparametere, analyserer markedet og konkurrentene, undersøker kundenes behov og avgjør hvilke brukere og brukstilfeller appen skal betjene. I strategifasen kan organisasjoner også begynne å utforske hvilke plattformer for utvikling av mobilapper som passer best med målene og kravene. Det er i denne fasen at organisasjoner også starter å se på markedsføringen rundt apputgivelsen.
Planlegging
I planleggingsfasen gjør organisasjoner seg enig om fire viktige detaljer om utviklingsprosessen for mobilapper: teamene, verktøyene, teknologiene og tidslinjene. Nå skal de ha fått en idé om hvilken type mobilapp de skal bygge, hvem som skal bygge den og hvilke plattformer de skal bruke. I løpet av denne fasen skal organisasjonen utforme et produktveikart. Dette bestemmer hvilke funksjoner som skal bygges i hvilken rekkefølge – og når. De angir milepæler, og utformer en prosjektplan som gjør at de kan gjøre alt klart innen den tiltenkte utgivelsesdatoen. Det er viktig å vite hvilke ressurser og ekspertiser som er tilgjengelige, og å forstå hvordan du implementerer teknologien som er valgt for prosessen, for å fastslå denne datoen og rekke utgivelsen.
Utforming
Utseendet, funksjonene og virkemåten til mobilappen begynner å ta form i utformingsfasen. I denne fasen av utviklingsprosessen for mobilapper kartlegger teamene brukeropplevelsen. De starter også på arbeidet med å lage brukergrensesnittene og tilstandene appen skal ha på ulike områder. De kan begynne med instruksjonsmodell, for kunne drive konseptutprøving og samle tilbakemeldinger fra kunder på et tidlig stadium. I denne fasen kan utviklere og teknikere lage prototyper eller gi råd om brukeropplevelse og brukergrensesnitt|, slik at teamene blir oppmerksomme på kravene og de tekniske spesifikasjonene til plattformene som organisasjonen har valgt å bruke. På denne måten utformer organisasjonen en app som faktisk kan bygges, når de går over til skjermer med full gjengivelse.
Utvikling
Ordet «utvikling» refererer – i denne konteksten – noen ganger til den fullstendige livssyklusen for programvareutvikling som inngår i det å lage og lansere en mobilapp. Vanligvis mener vi med «utvikling» programvareutviklingsfasen i arbeidet med mobilapper. Denne fasen definerer vi nærmere senere i artikkelen. Denne fasen kan vi best beskrive som trinnet der teamene etablerer den tekniske arkitekturen og teknologiske stakken (deriblant frontdelen, serverdelen og API-ene), angir milepæler for utviklingen, bestemmer utviklingslivssyklusen for appen og koder appen.
Testing
Testing er en avgjørende fase i utviklingsprosessen for mobilapper. Uten testing kan ikke organisasjonen vite at appen er trygg, at den fungerer slik brukerne trenger og forventer at den skal samt at den fungere der de distribuerer den. I løpet av denne fasen utfører teamene kvalitetssikring, og oppretter testcaser for å vurdere brukervennligheten, ytelsen, stabiliteten og sikkerheten til appen på alle enhetene den er ment å kjøre på. Organisasjoner stresstester ofte appen for å sikre at programmets arkitektur kan skaleres til å møte periodevis uventet stor etterspørsel.
Utgivelse
Den siste fasen i utviklingsprosessen for mobilapper, er utgivelsen. Når appen er distribuert, gir organisasjonen støtte til kunder som bruker den. De følger med og utfører vedlikehold, for å sørge for at appen er tilgjengelig og at den fungerer som den skal. Markedsføringskampanjer på den ene siden og prosesser for å oppmuntre til å bruke appen på den andre, er ofte ikke i samsvar med denne fasen. Hvis organisasjonen bestemmer seg for å gjøre forbedringer eller endringer i appen, som overgår omfanget av endringer utviklingen er utstyrt for å håndtere, kan de velge å starte utviklingsprosessen for mobilapper på nytt.
Programvareutvikling i utviklingsprosessen for mobilapper
Den første oppgaven i utviklingsfasen er å etablere teknisk arkitektur for mobilappen. Dette blir ofte forvekslet med teknisk stakk (som innbefatter den tekniske arkitekturen for frontdelen, serverdelen og API-ene). Her snakker vi om reglene og mønstrene som styrer utviklingen av mobilappen.
Teknisk arkitektur
Den tekniske arkitekturen er ofte utviklet i tre lag:
Presentasjonslag
Dette er laget i appen, som kunden ser og samhandler med. Presentasjonslaget innbefatter brukergrensesnittet og alle elementene i appen som utgjør brukeropplevelsen.
Bedriftslag
Logikken som styrer arbeidsflyter, datautveksling og operasjoner, finner du i forretningslaget. Kjerneaspekter ved mobilappen, for eksempel sikkerhet, hurtigbufring, historikk og unntakshåndtering, håndteres i dette laget.
Datalag
Datalaget oppfyller kravene til programvaren, og leverer dataverktøy, datatilgangskomponenter samt hjelpeverktøy eller tjenesteagenter. Dette er også laget som validerer og vedlikeholder data og støtter datatransaksjoner.
Teknologistakk
På samme måte består teknologistakken som nevnt også av tre deler. Disse delene representerer imidlertid bestemte valg som brukes til å bygge og støtte appen, i stedet for retningslinjer for opprettelsen.
Frontdelen
Verktøyene og språkene som brukes til å kode fronten av mobilappen, er avhengige av enhetene appen distribueres til, Frontdelen henger nært sammen med presentasjonslaget. Det finnes mange måter å gjøre det på, og de fleste mobile enheter har bestemte språk som er opprinnelige for dem.
Serverdelen
Serverdelen er den delen av appen som innbefatter databasen og andre lignende objekte, som ligger på en server. De fungerer som støtter funksjonene i mobilappen. Teamene er mindre opptatt av enhetene når det gjelder å velge mobile serverdel-teknologier, og kan ofte bruke forhåndsbygde serverdel-løsninger.
API
API-en er det som gjør det mulig for appen å kommunisere mellom serverdelen og frontdelen, og gjør det også mulig for appen å integrere og samhandle med andre apper og tjenester.
Men før team kan velge en tekniske stakk – eller til og med etablere en tekniske arkitektur – må de først bestemme hvilken type mobilapp de bygger.
Typer mobilapper
Når det gjelder utvikling av apper for mobile enheter, har organisasjoner flere ulike typer mobilapper å velge mellom. I dette tilfellet refererer typen mobilapp ikke til hva appen tilbyr av funksjoner for brukeren, men hvordan appen bygges.
Opprinnelige apper
Apper som er spesifikke for en bestemt enhet eller plattform – for eksempel Android eller iOS – kaller vi for «opprinnelige apper». Disse appene kjører direkte på operativsystemet til enheten, bruker språkene og rammeverkene plattformen tilbyr og distribueres gjennom butikker spesifikke for operativsystemet. Opprinnelige apper har vanligvis full tilgang til alle funksjonene og maskinvaren til enhetene de kjører på.
Apper på tvers av plattformer
Teamene kan kode i appen på språkene og strukturene de selv ønsker, og deretter kompilere koden for hvert operativsystem appen skal kjøre på. Dette kan de gjøre ved hjelp av plattformer som Xamarin. Apper på tvers av plattformer gjør det mulig for team å kjøre apper på mange forskjellige enheter og bruke en stor del av koden på nytt – men å bygge broer i koden krever mer arbeid enn å utvikle for bare én plattform.
Progressive webprogrammer
I likhet med webprogrammer kjører progressive webprogrammer i mobilnettlesere. De er vanligvis bygget ved hjelp av JavaScript, CSS og HTML5. Det som gjør webprogrammer progressive, er evnen til å levere push-varslinger, bedre berøringsbevegelser og samhandling med maskinvare ved hjelp av avanserte nettleserfunksjoner. Det finnes ingen SDK-er som kan bidra med å bygge progressive webprogrammer, men de kan distribueres uten å gå gjennom en markedsplass.
Hybride apper
Hybride apper er en blanding mellom opprinnelige apper og progressive webprogrammer, og er i hovedsak opprinnelig kodede beholdere som kjører webprogrammer. Denne kombinasjonen gir appen bedre tilgang på funksjonene og maskinvaren til enhetene. Det gjør også at du kan kjøre appen på flere typer enheter, samtidig som du holder deg til én og samme kodebase. Selv om hybridapper har mange fordeler, oppnår de vanligvis ikke den samme ytelsen som andre typer mobilapper gjør.
Hvilken type mobilapp skal bygges?
Typen mobilapp en organisasjon velger å bygge, har store konsekvenser for verktøyene, plattformene, rammeverkene, språkene som er tilgjengelige for teamene deres, distribusjonen av appen, antall kodebaser som skal vedlikeholdes, hvilke enheter appen kan kjøres på – til og med hva appen kan gjøre.
Når du bestemmer deg for hvilken type mobilapp du skal bygge, kan det være nyttig å tenke på hvem brukerne skal være og hva de trenger fra appen. Hvis de for eksempel bruker én type enhet eller operativsystem, kan det hende at en opprinnelig app er best. Apper som ikke er avhengige av maskinvaresensorer eller GPS, kan være godt egnet som progressive webprogrammer eller hybride apper. Det fungerer imidlertid mindre bra hvis brukerne ikke har en god tilkobling. Hvis brukerne er ansatte i en bedrift eller organisasjon, bør du vurdere en a annen mobilstrategi. Og selvfølgelig handler alt i bunn og grunn om ekspertisen du har tilgjengelig i organisasjonen eller gjennom partnere.
Dette diagrammet beskriver flere av forskjellene og likhetene mellom ulike typer mobilapper, for å hjelpe deg med å vurdere hvilken type app du bør utvikle.
Sammenligning av ulike typer mobilapper
Opprinnelige apper | Apper på tvers av plattformer | Progressive webprogrammer | Hybride apper | |
---|---|---|---|---|
Antall kodebaser | Én per plattform | Én, men kompilert for hver plattform | Én samlet | Én for appen, en annen for beholderen |
Språk og rammeverk | Bare opprinnelig | Teamets valg | Bare på nett | På nett og opprinnelig |
Tilgang til SDK-er og API-er | Ja | Ja | Nei | Begrenset |
Ytelse | Høyest | Høy | Lavest | Lav |
Tilgang til enhetens maskinvare | Komplett | Meste | Svært lite | Noe |
Respons på inndata fra brukere | God | God | Verste | Dårlig |
Interaktivitet | Høy | Høy | Lavest | Lav |
Bruk av enhetsressurs | Høy | Høy | Lav | Middels |
Krever tilkobling | Nei | Nei | Ja | Ja |
Bygge- og vedlikeholdskostnader | Høyest | Høy | Lavest | Lavere |
Hvor appen lagres | Enhet | Enhet | Server | Enhet og server |
Distribuert gjennom | Marketplace | Marketplace | Nettleser | Marketplace |
Krever ekstern godkjenning | Ja | Ja | Nei | Ja |
Programvarer og plattformer for utvikling av mobilapper
Når du har bestemt deg for hvilken type mobilapp du skal bygge – eller kanskje mens du fremdeles er i tenkefasen – må du tenke på hvilken utviklingsplattform for mobilapper du skal bruke. Dette er apputviklingsplattformene du bruker til å utvikle, bygge, teste, feilsøke, administrere og i noen tilfeller distribuere mobilapper – gjennom hele livssyklusen. De fleste programvarer for apputvikling inkluderer frontside-verktøy for å bygge grensesnittet, serverdel-verktøy for å håndtere data, API-verktøy, testverktøy samt verktøy for samarbeid og kodeanalyse.
De fleste plattformer for mobilapper har som mål å levere alt en utvikler trenger for å bygge en mobilapp. Dette gjør det mulig for utviklere å unngå problemer som oppstår når man flytter mellom ulike programvarer for mobilutvikling, og håndtere problemer som oppstår mellom dem – for eksempel kodeintegritet, inkompatibilitet og tap av data. Utviklingsplattformer for mobilapper reduserer også kostnadene, tiden, ressursene og ekspertisen som kreves for at en organisasjon skal kunne lage en mobilapp. Et lite utvalg organisasjoner velger å bygge helt egne plattformer, men flertallet velger ett av de mange allerede tilgjengelige alternativene for apputvikling.
Hva som er de beste alternativene utvikling av mobilapper for organisasjonsbruk, varierer etter hvilke typer mobilapper de har tenkt å opprette, hvilke språk de kan kode i og hvilke enheter de vil betjene. Det finnes mange alternativer for utvikling av mobilapper. Her er noen av dem:
- Plattformuavhengige verktøy som Xamarin gjør det mulig for utviklere å bygge Android- og iOS-apper ved hjelp av .NET og C#.
- Visual Studio Tools for Xamarin bruker én delt kodebase for Android-, iOS- og Windows-mobilapper.
- Verktøy med lite eller ingen kode, for eksempel Power Apps. Lavkode er en enkel måte å bygge profesjonelle apper på, uten teknisk opplæring eller ekspertise. Mer informasjon.
Utviklingsressurser for mobilapper
Utforsk dokumenter om Azure for mobilutviklere
Finn informasjonen du trenger for å utvikle mobilapper på Azure. Finn ut mer om push-varslinger, godkjenning, analyse og SDK-er.
Prøv å lage en mobilapp nå
Konfigurer et datasamlebånd for kontinuerlig integrering og levering for Android-apper. Koble til et hvilket som helst Git-repositorium, og få teamet i gang på få minutter.
Vanlige spørsmål om utvikling av mobilapper
-
Definisjonen av utvikling av mobilapper kan være bred, og omfatter alle prosessene i byggeprosessen og utgivelsen av mobilappen. Definisjonen kan også være spesifikk, og bare vise til koding og distribusjon av appen.
Mer informasjon -
Fasene i utviklingsprosessen for mobilapper er strategi, planlegging, utforming, utvikling, testing og lansering.
Mer informasjon -
Når du bestemmer deg for hvilken type mobilapp du skal bygge, kan det være nyttig å tenke på hvem brukerne skal være og hva de trenger fra appen.
Mer informasjon -
Hva som er de beste alternativene utvikling av mobilapper for organisasjonsbruk, varierer etter hvilke typer mobilapper de har tenkt å opprette, hvilke språk de kan kode i og hvilke enheter de vil betjene.
Mer informasjon -
Organisasjoner bruker alt fra tre til ni måneder – eller mer der når det trengs – på å utvikle mobilapper.
Mer informasjon -
Det kan ta mange måneder å utvikle en mobilapp. Her er fem tips fra Microsoft om hvordan du kommer raskt i gang med prosessen.
Hent fem tips om å lage mobilapper -
DevOps er en kombinasjon mellom "utvikling" (Dev) og "operasjoner" (Ops). Vi kan definere DevOps som en samling av alle personer, prosesser og teknologier vi trenger for å kontinuerlig kunne levere verdi til kundene. Kultur, verktøy og praksiser som baserer seg på DevOps kan gjøre det enklere for isolerte roller – slik som utvikling, IT-operasjoner, kvalitetsteknikk og sikkerhet – å koordinere og samarbeide, for å produsere bedre og mer pålitelige produkter. DevOps hjelper utviklingsteamene med å bli mer responsive for kundenes behov. På denne måten kan man øke tilliten til appene man utvikler, og for å raskere nå teamets forretningsmål.
Mer informasjon om DevOps -
Utviklere fokuserer ofte på de tekniske egenskapene og prosessene til en skyleverandør. De ser blant annet på følgende: enkel distribusjon, administrasjon og oppgradering, om de bruker standardløsninger for grensesnitt og API-er, om de har et formelt system for behandling av hendelser integrert i overvåkings-/administrasjonssystemet, om de har veldokumenterte prosesser for endringsadministrasjon og om de støtter hybridfunksjoner.
Finn ut mer om det å velge en skytjenesteleverandør