Skapa programvara för mobila enheter
Definitionen av utveckling av mobilprogram kan omfatta alla processer som ingår i skapandet och lanseringen av en mobilapp eller specifik, med hänvisning till kodning och distribution av appen. Den här artikeln beskriver båda definitionerna av utveckling av mobilappar och fokuserar särskilt på att definiera mobilappsutveckling för personer som fattar beslut kring eller ansvarar för hur själva programvaran skapas.
För att definiera utveckling av mobilprogram bör vi börja med att definiera mobil, som i det här fallet avser bärbara elektroniska enheter som smartphones, surfplattor, bärbara datorer, smarta klockor, e-läsare och handdatorer. Med program menar vi inte bara den programvara som är inbyggd i dessa enheter, utan även de vanliga operativsystem, plattformar och språk som dessa enheter stöder. Som du lär dig finns det många olika sätt att hantera utveckling av mobilappar och många beslut att fatta.
Utvecklingsprocessen för mobilprogram
Processen för att skapa och släppa mobilappar förstås ofta i en serie steg eller faser. Dessa faser i utvecklingsprocessen för mobilappar omfattar många olika personer och områden inom en organisation, inklusive företag, marknadsföring, design och teknik. Faserna i utvecklingsprocessen för mobilappar är:
- Strategi
- Planering
- Designa
- Utveckling
- Testning
- Publicera
Hur lång tid tar det att skapa en mobilapp?
Organisationer tillbringar allt från tre månader till nio månader eller längre där det krävs utveckling av mobilprogram. Omfånget och funktionerna i en app påverkar alla tidslinjen för utvecklingsprocessen för mobilappar.
Strategi
Utvecklingsprocessen för mobilprogram börjar med att förstå varför en mobilapp kan vara en bra lösning på ett problem eller en metod för en möjlighet och sedan bestämma vad som ska skapas och hur. I strategifasen upprättar organisationer appens mål och mått för framgång, analyserar marknaden och konkurrenterna, undersöker kundernas behov och avgör vilka användare och användningsfall appen ska betjäna. I strategifasen kan organisationer också börja utforska vilka plattformar för mobilapputveckling som fungerar bäst med deras mål och krav. Det är i den här fasen som organisationer också börjar ta hänsyn till marknadsföringen kring appens lansering.
Planering
I planeringsfasen är organisationer överens om fyra viktiga detaljer i utvecklingsprocessen för mobilappar: team, verktyg, tekniker och tidslinjer. Nu har de en uppfattning om vilken typ av mobilapp de behöver skapa, vem som ska skapa appen och vilken plattform eller vilka plattformar de ska använda. Under den här fasen kommer organisationer att utforma en produktöversikt som bestämmer vilka funktioner som ska skapas i vilken ordning och efter när milstolpar anges, och utforma en projektplan som gör att de kan uppfylla sitt avsedda utgivningsdatum. Att veta vilka resurser och expertis som är tillgängliga tillsammans med att förstå hur du implementerar den teknik som valts för processen är avgörande för att fastställa det datumet och uppnå lanseringen.
Designa
Mobilappens utseende, funktioner och funktion börjar ta form under designfasen. I den här fasen av utvecklingsprocessen för mobilappar visar team användarupplevelsen och skapar användargränssnitten och appens tillstånd på olika platser. De kan börja med modeller med låg återgivning för att tillhandahålla konceptbevis eller samla in kundfeedback i ett tidigt skede. Utvecklare och tekniker kan hjälpa till att skapa prototyper eller konsultationer om UX- och UI-beslut 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 flyttar till full återgivningsskärmar utformat en app som verkligen kan skapas.
Utveckling
Ordet utveckling i det här sammanhanget refererar ibland till hela livscykel för programvaruutveckling som ingår i att skapa och släppa en mobilapp. Utveckling innebär dock oftast den här programutvecklingsfasen för utveckling av mobilappar. Vi kommer att definiera den här fasen mer fullständigt senare i artikeln. För tillfället beskrivs den här fasen bäst som det steg där teamen upprättar den tekniska arkitekturen och den tekniska stacken, inklusive klientdelen, serverdelen och API:erna, anger utvecklingsmilstolpar, fastställer appens utvecklingslivscykel och kodar appen.
Testning
Testning är en viktig fas i utvecklingsprocessen för mobilprogram. Utan testning kan organisationer inte vara säkra på att deras app kommer att vara säker, fungera som användarna behöver och förvänta sig det och fungera där de distribuerar den. Under den här fasen tillhandahåller teamen kvalitetssäkring och 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.
Publicera
Den sista fasen i utvecklingsprocessen för mobilprogram släpps. När appen har distribuerats ger organisationen support till kunder som använder den och löpande övervakning och underhåll för att säkerställa att appen är tillgänglig och fungerar som den ska. Marknadsföringskampanjer och kampanjer för att uppmuntra införandet av appen sammanföll ofta med den här fasen. Om organisationen bestämmer sig för att göra förbättringar eller ändringar i appen som går utanför omfattningen av de ändringar som deras utvecklingslivscykel är utrustad för att hantera, kan de välja att påbörja utvecklingsprocessen för mobilappar på nytt.
Programvaruutveckling i utvecklingsprocessen för mobilappar
Den första uppgiften i utvecklingsfasen är att upprätta en teknisk arkitektur för mobilprogrammet. Ofta förvirrad med teknisk stack som innehåller den tekniska arkitekturen för klientdelen, serverdelen och API:erna är de regler och mönster som styr utvecklingen av mobilappen.
Teknisk arkitektur
Den tekniska arkitekturen är ofta tänkt i tre lager:
Presentationslager
Det här är lagret i appen som kunden ser och interagerar med. Presentationslagret innehåller användargränssnittet och alla element i appen som utgör användarupplevelsen.
Affärslager
Logiken som styr arbetsflöden, datautbyte och åtgärder finns i affärsskiktet. Viktiga aspekter av mobilappen, till exempel säkerhet, cachelagring, loggning och undantagshantering, hanteras i det här lagret.
Datalager
Datalagret uppfyller kraven för själva programmet och tillhandahåller dataverktyg, dataåtkomstkomponenter och hjälpare eller tjänstagenter. Det är också skiktet som validerar och underhåller data och stöder datatransaktioner.
Teknikstack
På samma sätt består teknikstacken eller teknikstacken också av tre delar som nämnts. Dessa delar representerar dock specifika val som används för att skapa och stödja appen i stället för riktlinjer för att skapa den.
Klientdel
På samma sätt som presentationsskiktet är de verktyg och språk som används för att koda mobilappens klientdel mycket beroende av de enheter som appen kommer att distribueras till. Det finns många alternativ och de flesta mobila enheter har specifika språk som är inbyggda i dem.
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. Teams är mindre beroende av enheterna när det gäller att välja mobila serverdelstekniker och kan ofta hitta färdiga serverdelslösningar.
API
Appen kommunicerar mellan serverdelen och klientdelen via API:et, vilket även gör att appen kan integrera och interagera med andra appar och tjänster.
Men innan teamen kan välja sin teknikstack eller ens etablera sin tekniska arkitektur måste de först bestämma vilken typ av mobilapp de skapar.
Typer av mobilappar
När det gäller att utveckla appar för mobila enheter har organisationer flera olika typer av mobilappar att välja mellan. I det här fallet refererar mobilapptypen inte till vad appen tillåter sina användare att göra, utan hur appen kommer att skapas.
Inbyggda appar
Appar som är specifika för en viss enhet eller plattform, till exempel Android eller iOS, kallas för interna appar. Dessa appar 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. Interna appar har vanligtvis fullständig åtkomst till alla funktioner och maskinvara för de enheter som de körs på.
Plattformsoberoende appar
Teams 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 dessa kallas, gör det möjligt för team att köra på många olika enheter och återanvända en stor del av koden, även om bryggning av koden kräver mer arbete än att utveckla för bara en plattform.
Progressiva webbappar
Precis som webbprogram körs progressiva webbprogram 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-meddelanden, bättre tryckgester och maskinvaruinteraktion med avancerade webbläsarfunktioner. Det finns inga SDK:er som hjälper dig att skapa progressiva webbappar, men de kan distribueras utan att gå via en marknadsplats.
Hybridappar:
Hybridappar är en blandning av interna appar och progressiva webbappar och är i princip internt kodade containrar som kör webbprogram. Den här kombinationen ger appen mer åtkomst till enheternas funktioner och maskinvara och körs på fler typer av enheter samtidigt som en enda kodbas behålls. För alla deras fördelar uppnår hybridappar vanligtvis inte den prestanda som andra typer av mobilappar gör.
Vilken typ av mobilapp som ska skapas
Den typ av mobilapp som en organisation väljer att skapa har stora konsekvenser för verktyg, plattformar, ramverk, språk som är tillgängliga för deras team, 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 är det bra att tänka på vilka dina användare kommer att vara och vad de behöver från appen. Om de till exempel huvudsakligen använder en typ av enhet eller operativsystem kan en inbyggd app vara bäst. Appar som inte förlitar sig på maskinvarusensorer eller GPS kan vara väl lämpade som progressiva webbappar eller hybridappar, men kanske inte om användarna inte har bra anslutning. Om användarna är medlemmar iföretaget eller organisationenvill du kanske övervägaen annan mobil strategi. Och naturligtvis handlar allt om den expertis som du har tillgänglig i din organisation eller via en partner.
Det här diagrammet beskriver mer av skillnaderna och likheterna mellan olika typer av mobilappar för att hjälpa dig att överväga vilken typ av app du bör utveckla.
Jämföra typer av mobilappar
Inbyggda appar | Plattformsoberoende appar | Progressiva webbappar | Hybridappar: | |
---|---|---|---|---|
Antal kodbaser | En per plattform | En, men kompilerad för varje plattform | En summa | En för appen, en annan för containern |
Språk och ramverk | Endast internt | Teamets val | Endast webb | Webb och intern |
Å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 | Komplett | Mesta | Väldigt lite | Visst innehåll |
Svarstid för användarindata | Bra | Bra | Sämsta | Dålig |
Interaktivitet | Hög | Hög | Lägsta | Låg |
Resursanvändning för enhet | Hög | Hög | Låg | Medium |
Kräver anslutning | Nej | Nej | Ja | Ja |
Kostnad för att skapa och underhålla | Högsta | Hög | Lägsta | Lägre |
Var appen lagras | Enhet | Enhet | Server | Enhet och server |
Distribuerad via | Marketplace | Marketplace | Webbläsare | Marketplace |
Kräver externt godkännande | Ja | Ja | Nej | Ja |
Plattformar och programvara för utveckling av mobilprogram
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 mobilprogram strävar efter att tillhandahålla allt som en utvecklare behöver för att skapa ett mobilprogram. På så sätt kan utvecklare undvika problem med att flytta mellan olika delar av mobil utvecklingsprogram och hantera problem som uppstår mellan dem, till exempel kodintegritet, inkompatibilitet och dataförlust. Utvecklingsplattformar för mobilappar minskar också kostnaden, tiden, resurserna och expertisen som krävs för att en organisation ska kunna skapa en mobilapp. Vissa organisationer väljer att skapa egna plattformar, men många fler väljer ett av de många tillgängliga apputvecklingsalternativen.
De bästa alternativen för utveckling av mobilappar för en organisation varierar beroende på vilka typer av mobilappar de tänker skapa, vilka språk de kan koda i och vilka enheter de vill hantera. Några alternativ för utveckling av mobilappar är:
- Plattformsoberoende verktyg som Xamarin som gör att utvecklare kan skapa Android- och iOS-appar med .NET och C#.
- Visual Studio Tools för XamarinVisual Studio Tools för Xamarin, som använder en enda delad kodbas för Android-, iOS- och Windows-mobilappar.
- Verktyg med lite kod eller ingen kod som Power Apps. Låg kod är ett enkelt sätt att skapa appar i professionell klass utan teknisk utbildning eller expertis. Mer information.
Utvecklingsresurser för mobilappar
Utforska dokument för mobilutvecklare i Azure
Hitta informationen du behöver för att utveckla mobilappar på Azure. Lär dig mer om push-meddelanden, autentisering, analys och SDK:er.
Prova att skapa en mobilapp nu
Konfigurera en pipeline för kontinuerlig integrering och leverans för Android-appar. Anslut till valfri Git-lagringsplats och låt ditt team vara igång på några minuter.
Vanliga frågor och svar om utveckling av mobilprogram
-
Definitionen av utveckling av mobilprogram kan omfatta alla processer som ingår i skapandet och lanseringen av en mobilapp eller specifik, med hänvisning till kodning och distribution av appen.
Mer information -
Faserna i utvecklingsprocessen för mobilappar är strategi, planering, design, utveckling, testning och lansering.
Mer information -
När du bestämmer vilken typ av mobilapp du ska skapa är det bra att tänka på vilka dina användare kommer att vara och vad de behöver från appen.
Mer information -
De bästa alternativen för utveckling av mobilappar för en organisation varierar beroende på vilka typer av mobilappar de tänker skapa, vilka språk de kan koda i och vilka enheter de vill hantera.
Mer information -
Organisationer tillbringar allt från tre månader till nio månader eller längre där det krävs utveckling av mobilprogram.
Mer information -
Det kan ta månader att utveckla en mobilapp fullt ut, men här är fem tips från Microsoft för att komma igång just nu med utveckling av mobilappar.
Lär dig 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 till med siloroller som utveckling, IT-drift, kvalitetsteknik och säkerhet för att samordna och samarbeta för att skapa bättre och mer tillförlitliga mobilappar. DevOps hjälper utvecklingsteam att bli mer dynamiska för kundernas behov, öka förtroendet för de appar de utvecklar och uppnå teamets affärsmål snabbare.
Mer information om DevOps -
Utvecklare fokuserar vanligtvis på de tekniska funktionerna och processerna hos en molnleverantör, till exempel enkel distribution, hantering och uppgradering, oavsett om de använder standardgränssnitt och API:er, om det 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 att välja en molnleverantör