Hoppa till huvudinnehåll

Vad är utveckling av mobilappar?

Utforska processer och programvara som används för att utveckla mobilappar

Skapa programvara för mobila enheter

Definitionen av mobilapputveckling kan vara bred – omfatta alla processer som ingår i skapandet och lanseringen av en mobilapp – eller specifik, och handla om kodning och distribution av appen. I den här artikeln går vi igenom båda definitionerna och fokuserar särskilt på att definiera mobilapputveckling för personer som fattar beslut om eller ansvarar för hur själva programvaran är byggd.

För att definiera mobilapputveckling måste vi börja med att definiera ordet mobil, som i det här fallet avser bärbara elektroniska enheter som smartphones, surfplattor, bärbara datorer, smarta klockor, e-läsare och handhållna spelkonsoler. Med program eller app avser vi inte bara den programvara som är inbyggd på de här enheterna, utan även de vanliga operativsystem, plattformar och språk som enheterna stöder. Efter hand kommer du upptäcka att det finns många olika sätt att ta sig an mobilapputveckling och många beslut att fatta.

Processen för att utveckla mobilappar

Processen för att skapa och lansera mobilappar sker ofta i en serie steg eller faser. Faserna i mobilapputvecklingsprocessen omfattar många olika personer och avdelningar inom en organisation, inklusive affärsområde, marknadsföring, design och teknik. Faserna i utvecklingsprocessen är:

  • Strategi
  • Planering
  • Design
  • Utveckling
  • Testning
  • Lansering

Hur lång tid tar det att göra en mobilapp?

Organisationer tillbringar allt från tre månader till nio månader – eller längre när det behövs – med att utveckla mobilappar. Appens omfattning och funktioner påverkar alla tidslinjen för hela utvecklingsprocessen.

Strategi

Utvecklingsprocessen för mobilappar börjar med att fastställa syftet med appen: kan den vara en bra lösning på ett problem eller ett sätt att skapa en affärsmöjlighet – och sedan bestämma vad som ska byggas och hur. Under strategifasen fastställer organisationerna målet med appen och hur det ska uppnås, analysera marknaden och konkurrensen, undersöka kundernas behov och fastställa vilka användare och användningsfall appen ska betjäna. I strategifasen kan organisationer också börja utforska vilka utvecklingsplattformar för mobilappar som fungerar bäst med uppsatta mål och krav. Det är i den här fasen som organisationer också tänka på marknadsföringen kring appens lansering.

Planering

Under planeringsfasen enas organisationen om fyra viktiga detaljer i mobilappens utvecklingsprocess: team, verktyg, teknik och tidslinjer. I det här läget har de en idé om vilken typ av mobilapp de vill skapa, vem som kommer att bygga appen och vilken eller vilka plattformar de ska använda. Under den här fasen skapar organisationen en produktkarta – bestäm vilka funktioner som ska byggas i vilken ordning och när – anger milstolpar och utformar en projektplan som gör att de kan hålla det planerade lanseringsdatumet. Att veta vilka resurser och expertis som finns tillgängliga samt förstå hur man implementerar den teknik som valts för processen, är avgörande för att fastställa det datumet och lansera som planerat.

Design

Mobilappens utseende, kapaciteter och funktionssätt börjar ta form under designfasen. I den här fasen av utvecklingsprocessen skissas användarupplevelsen upp och teamen skapar användargränssnitten och appens lägen vid olika skeden. De kan börja med lo-fi-modeller i syfte att utvärdera en prototyp för att testa funktioner eller samla in kundfeedback i ett tidigt skede. Utvecklare och tekniker kan hjälpa till att skapa prototyper eller rådgöra med UX- och UI-konsulterna i den här fasen – så att teamen är medvetna om kraven och de tekniska specifikationerna för de plattformar som organisationen har valt att använda. På så sätt har organisationer, när de övergår till skärmar som den ska se ut för användarna, utformat en app som verkligen kan byggas.

Utveckling

Med ordet utveckling i det här sammanhanget avses ibland hela programvaruutvecklingslivscykeln när en app skapas och lanseras. Men vanligare är att utveckling avser just programvaruutvecklingsfasen i utvecklingen av en mobilapp. Senare i artikeln kommer vi definiera den fasen mer utförligt. För tillfället beskrivs den bäst som det steg i vilket teamen etablerar den tekniska arkitekturen och teknikstacken – inklusive klientdel, serverdel och API:er – och sätter upp utvecklingsmilstolpar, fastställer appens utvecklingslivscykel och kodar appen.

Testning

Testning är en avgörande fas i utvecklingsprocessen för mobilappar. Utan testning kan organisationer inte vara säkra på att app är säker att använda, fungerar som den ska och enligt användarnas förväntan och verkar där den distribueras. Under den här fasen görs kvalitetskontroll och teamen skapar testfall för att utvärdera appens användbarhet, prestanda, stabilitet och säkerhet på alla enheter som appen är avsedd att köras på. Organisationer stresstestar ofta appen för att säkerställa att programmets arkitektur kan skalas för att möta plötslig stor efterfrågan.

Lansering

Den sista fasen i utvecklingsprocessen för mobilappar är lanseringen. När appen har distribuerats ger organisationen support till kunder som använder den, samt kontinuerlig övervakning och underhåll för att säkerställa att appen är tillgänglig och fungerar som den ska. Marknadsföringskampanjer för att uppmuntra införandet av appen sammanfaller ofta med den här fasen. Om organisationen bestämmer sig för att göra förbättringar eller ändringar i appen som sträcker sig utanför de ändringar som deras utvecklingslivscykel är utrustad för att hantera, kan de bestämma sig för att starta processen för mobilapputveckling på nytt.

Programvaruutveckling i utvecklingsprocessen för mobilappar

Den första uppgiften i utvecklingsfasen är att fastställa mobilappens tekniska arkitektur. Teknisk arkitektur förväxlas ofta med teknikstack, vilket omfattar klientdel, serverdel och API:er. Den tekniska arkitekturen är de regler och mönster som reglerar utvecklingen av mobilappen.

Teknisk arkitektur

Den tekniska arkitekturen brukar indelas i tre lager:

Presentationslager

Det här är det lager i appen som kunden ser och interagerar med. Presentationslagret omfattar användargränssnittet och alla delar av appen som utgör själva användarupplevelsen.

Affärslager

Logiken som styr arbetsflöden, datautbyte och åtgärder finns i affärslagret. Huvudaspekter av mobilappen som säkerhet, cachelagring, loggning och undantagshantering hanteras i det här lagret.

Datalager

Datalagret uppfyller kraven för själva programmet, tillhandahåller dataverktyg, dataåtkomstkomponenter och hjälp- eller tjänstagenter. Det är också lagret som validerar och underhåller data och stöder datatransaktioner.

Teknikstack

På liknande sätt består alltså även teknikstacken av tre delar. De här delarna motsvarar dock de specifika val som gjorts för att bygga och stödja appen, snarare än riktlinjer för att skapa den.

Klientdel

De verktyg och språk som används för att koda mobilappens klientdel är kopplat till presentationslagret och beror till stor del på vilka enheter som appen ska distribueras på. Det finns många alternativ och de flesta mobila enheter har specifika språk inbyggda.

Serverdel

Serverdelen är den del av appen som innehåller databasen och andra liknande objekt som finns på en server och stöder mobilappens funktioner. Teamen är mindre beroende av enheterna när det gäller att välja mobil serverdelsteknik och kan ofta hitta färdiga serverdelslösningar.

API

Appen kommunicerar mellan serverdelen och klientdelen via API:et, vilket även gör det möjligt för appen att integrera och interagera med andra appar och tjänster.

Men innan teamen kan välja teknikstack – eller överhuvudtaget etablera den tekniska arkitekturen – måste de först bestämma vilken typ av mobilapp som ska skapas.

Typer av mobilappar

När det gäller att utveckla appar för mobila enheter kan organisationer välja bland olika typer av mobilappar. I det här fallet anger typen av mobilapp inte vad användaren kan göra med appen, utan hur den ska byggas.

Inbyggda appar

Appar som är specifika för en viss enhet eller plattform, till exempel Android eller iOS, kallas inbyggda appar. De här apparna körs direkt på enhetens operativsystem, använder de språk och ramverk som plattformen tillhandahåller och distribueras via butiken eller marknadsplatsen som är specifik för operativsystemet. Inbyggda appar har vanligtvis fullständig åtkomst till alla funktioner och all maskinvara för de enheter de körs på.

Plattformsoberoende appar

Teamen kan koda i appen på de språk och ramverk som de väljer och sedan kompilera koden för varje operativsystem som appen är avsedd att köras på med plattformar som Xamarin. Plattformsoberoende appar, som de kallas, gör att teamen att köra på många olika enheter och återanvända en stor del av koden – även om det krävs mer arbete för att överföra koden än att utveckla för bara en plattform.

Progressiva webbappar

Precis som webbappar körs progressiva webbappar i mobila webbläsare och skapas vanligtvis med JavaScript, CSS och HTML5. Det som gör webbappar progressiva är deras förmåga att tillhandahålla push-notiser, bättre tryckgester och maskinvaruinteraktion med hjälp av avancerade webbläsarfunktioner. Det finns inga SDK:er till hjälp för att bygga progressiva webbappar men de kan distribueras utan att gå via en marknadsplats.

Hybridappar

Hybridappar är en blandning av inbyggda appar och progressiva webbappar, och är i huvudsak internt kodade containrar som kör webbappar. Den här kombinationen ger appen större åtkomst till funktionerna och maskinvaran på enheterna och den kan köras på flera typer av enheter – samtidigt som en enda kodbas används. Hybridappar, med alla dess fördelar, uppnår vanligtvis inte samma prestanda som andra typer av mobilappar.

Vilken typ av mobilapp som ska jag bygga

Den typ av mobilapp som en organisation väljer att bygga påverkar i hög grad de verktyg, plattformar, ramverk och språk som är tillgängliga för teamen, distributionen av appen, antalet kodbaser som ska underhållas, vilka enheter appen ska köras på och till och med vad appen kan göra.

När du bestämmer vilken typ av mobilapp du ska skapa bör du tänka på vilka användarna ska vara och vilken nytta de kan ha av appen. Om de till exempel främst ska använda en viss typ av enhet eller operativsystem kan en inbyggd app vara bäst. Appar som inte är beroende av maskinvarusensorer eller GPS kan vara väl lämpade som progressiva webbappar eller hybridappar, men kanske inte om dina användare inte har bra anslutning. Om användarna är medlemmar i ditt företag eller din organisation kan det passa bättre med en annan mobilstrategi. Och det beror såklart på den expertis du har tillgänglig inom din organisation eller via en partner.

Här nedan beskrivs mer utförligt skillnaderna och likheterna mellan olika typer av mobilappar så att du lättare kan bestämma vilken typ av appar du ska utveckla.

Jämför olika typer av mobilappar

Inte tillgänglig Inbyggda appar Plattformsoberoende appar Progressiva webbappar Hybridappar
Antal kodbaser En per plattform En, men kompilerad för varje plattform En totalt En för appen, en annan för containern
Språk och ramverk Endast inbyggt Teamets val Endast webb Webb och inbyggd
Åtkomst till SDK:er och API:er Ja Ja Nej Begränsad
Prestanda Högsta Hög Lägsta Låg
Åtkomst till enhetens maskinvara Fullständig De flesta Väldigt liten Något
Svarstid för användarindata Bra Bra Sämst Dålig
Interaktivitet Hög Hög Lägsta Låg
Resursanvändning för enhet Hög Hög Låg Medel
Kräver anslutning Nej Nej Ja Ja
Kostnad för att bygga och underhålla Högsta Hög Lägsta Lägre
Var appen är lagrad Enhet Enhet Server Enhet och server
Distribueras via Marknadsplats Marknadsplats Webbläsare Marknadsplats
Kräver godkännande utifrån Ja Ja Nej Ja

Plattformar och programvara för mobilapputveckling

När du har bestämt vilken typ av mobilapp du ska skapa eller kanske när du överväger vilken typ du vill utvärdera utvecklingsplattformar för mobilappar. Det här är de apputvecklingsplattformar som du använder för att utveckla, skapa, testa, felsöka, hantera och i vissa fall även distribuera mobilappar under hela livscykeln. De flesta programutvecklingsprogram innehåller klientdelsverktyg för att skapa gränssnitt, serverdelsverktyg för att hantera data, API-verktyg, testverktyg och verktyg för samarbete och kodanalys.

De flesta plattformar för mobilappar har som mål att tillhandahålla allt en utvecklare behöver för att skapa en mobilapp. På så sätt slipper utvecklare flytta mellan olika delar av mobilutvecklingsprogramvara och hantera problem som uppstår mellan dem, t.ex. kodintegritet, inkompatibilitet och dataförlust. Utvecklingsplattformar för mobilappar minskar också kostnader, tid, resurser och den expertis som krävs för att en organisation ska kunna skapa en mobilapp. En del organisationer väljer att skapa egna plattformar medan många väljer ett av de många tillgängliga alternativ för apputveckling.

De bästa alternativen för utveckling av mobilappar för en organisation varierar, beroende på vilka typer av mobilappar de vill skapa, vilka språk de kan koda i och vilka enheter som ska användas. Några alternativ för utveckling av mobilappar är:

  • Plattformsoberoende verktyg som Xamarin- som gör det möjligt för utvecklare att skapa Android- och iOS-appar med .NET och C#.
  • Visual Studio Tools for Xamarin där en enda delad kodbas för Android-, iOS- och Windows-mobilappar används.
  • Lågkods- eller kodfria verktyg som Power Apps. Lågkod är ett enkelt sätt att skapa appar i professionell kvalitet utan teknisk utbildning eller expertis. Läs mer.

Utvecklingsresurser för mobilappar

Hitta dokument för mobilutvecklare i Azure

Hitta den information du behöver för att utveckla mobilappar i Azure. Läs mer om push-meddelanden, autentisering, analys och SDK:er.

Hämta resurser och dokumentation för mobilutvecklare

Försök att skapa en mobilapp nu

Ställ in kontinuerlig integrering och leveranspipeline för Android-appar. Anslut till valfri Git-lagringsplats – och ditt team är gång på några minuter.

Kom igång med Android-appar i molnet

Vanliga frågor och svar om utveckling av mobilappar

  • Definitionen av mobilapputveckling kan vara bred – omfatta alla processer som ingår i skapandet och lanseringen av en mobilapp – eller specifik och handla om kodning och distribution av appen.

    Läs mer

  • De olika faserna i utvecklingsprocessen för mobilappar är strategi, planering, design, utveckling, testning och lansering.

    Läs mer

  • När du bestämmer vilken typ av mobilapp du vill skapa bör du tänka på vilka användarna ska vara och vilken nytta de kan ha av appen.

    Läs mer

  • Vilka alternativ som är bäst för att utveckla mobilappar för en organisation varierar, beroende på vilken typ av mobilapp man vill skapa, vilka språk man kan koda i och vilka enheter som ska användas.

    Läs mer

  • Det tar vanligtvis allt tre till nio månader, om inte mer, för organisationer att utveckla mobilappar.

    Läs mer

  • Det kan ta flera månader att utveckla en mobilapp fullt ut. Här är fem tips från Microsoft för att komma igång just nu med utveckling av mobilappar.

    Läs fem tips för att skapa mobilappar

  • DevOps kombinerar ordet "utveckling" och ordet "åtgärder" och definieras som en union av människor, processer och teknik för att kontinuerligt ge kunderna värde. DevOps-kultur, verktyg och metoder kan hjälpa silobaserade roller som utveckling, IT-drift, kvalitetsteknik och säkerhet att samordna och samarbeta för att skapa bättre och mer tillförlitliga mobilappar. DevOps hjälper utvecklingsteam att bli mer responsiva mot kundernas behov, öka förtroendet för de appar de utvecklar och uppnå teamets affärsmål snabbare.

    Läs mer om DevOps

  • Utvecklare fokuserar vanligtvis på en molnleverantörs tekniska funktioner och processer, t.ex. enkel distribution, hantering och uppgradering, oavsett om standardgränssnitt och API:er används, om den har ett formellt system för händelsehantering som är integrerat med dess övervaknings-/hanteringssystem, om det har väldokumenterade ändringshanteringsprocesser och om hybridfunktioner stöds.

    Läs mer om hur du väljer en molnleverantör

Kan vi hjälpa dig?