Mobile App Development Cost and Process

iPhone App Development Cost / Process, Android App Development Cost / Process

Ofte beder kunderne mig om at give dem en vejledende pris for at udvikle en app, så de kan beslutte sig for et budget eller henvende sig til investorer for at rejse penge til app-projektet.

I denne artikel vil jeg gennemgå processen for udvikling af mobile apps, forskellige talentkrav og elementer, der påvirker udviklingen af mobile apps.

Proces for udvikling af mobilapps

Nedenstående punkter viser den typiske proces for udvikling af mobilapps:

  1. Wireframing – Wireframing er en vigtig proces i forbindelse med opbygningen af en app; det skyldes, at det vil danne grundlaget for, hvordan appen skal designes og fungere. En vigtig ting at bemærke er, at med mobilapps vil det være meget mere tidskrævende og dyrt at lave skærmene om eller genopbygge funktionaliteten end en webapp, så derfor er det vigtigt at bygge wireframes, før man starter udviklingen. Under wireframing skal en app UX-specialist og en app-udvikler have opdagelsesmøder (brainstorming) med projektejeren for at finde ud af, hvordan appen skal designes og fungere. jo mere kompleksitet eller jo flere skærme projektet har, jo længere tid vil det tage at færdiggøre wireframing. For at færdiggøre wireframing vil en app UX-specialist tegne navifgation, skærme og alle de elementer, der indgår i app-skærmene, og notere funktionaliteterne for hver skærm.
  2. App Screen Design – Design af app-skærme (front-end) for både iOS og Android.
  3. App-programmering – Programmering af app-skærmene (front-end) for både iOS og Android.
  4. Application / Database Framework – Opsætning af applikationens server-side framework (cloud / back-end) og oprettelse af databasestrukturen.
  5. Server-side applikationsprogrammering – Skrivning af al den server-side kode til implementering af back-end-funktionaliteten.
  6. Udvikling af API’er – Skrivning af alle de API’er, der forbinder app-skærmene med den serverside applikation og databasen.
  7. QA for brugervenlighed – Test af appskærmene for fejl og rettelse af eventuelle problemer.
  8. QA for flere platforme, flere enheder, OS-versioner, opløsninger – Test af appen på alle forskellige platforme (iPhone, Android, Windows Phone) og forskellige OS-versioner af hver platform (Apple iOS har to populære versioner: iOS 8 og iOS 7, Android OS har fem populære versioner (Android 4.1,4.2,4.3,4.4,4.4,5.0), Forskellige opløsninger på forskellige mobile enheder (mellem forskellige enheder af smartphones, phablets og tablets er der en hel del opløsninger at teste for, og det kan være tidskrævende).
  9. Back-end QA Test af back-end koden for performance og sikkerhed.
  10. Cloud Setup – Deploy den server-side applikation til serveren/skyen.
  11. Indsend til App Stores – Implementer appen til App Stores.

Talenter, der er nødvendige for at bygge en kvalitetsmobilapp

At bygge en kvalitetsmobilapp kræver mange trin og kræver forskellige talenter med forskellige specialer:

  • Til wireframing er der brug for en UX-specialist (User Experience), som har erfaring med at opbygge app-skærme med den bedste brugeroplevelse. En UX Specialist skal kende app-konventionerne og reglerne for at vise navigationen og elementerne på skærmene, så det bliver nemt for brugerne at navigere bedre i appen og finde det, de har brug for, i den rigtige prioritet.
  • For at designe app-skærmene skal designeren vide, hvordan man designer til forskellige enheder: iPhone-, Android- og Windows Phone-skærme. Kort sagt skal designeren have erfaring med og visioner for, hvordan forskellige objekter eller grafiske elementer kommer til at se ud på små telefonskærme og forskellige opløsninger. Designeren skal også bruge den rigtige størrelse, den rigtige grafik og de rigtige ikoner og temaer til appen.
  • Til programmering af app-skærmene skal programmøren have erfaring med at bruge Xcode-miljøet med Objective-C eller Swift til iOS og Java til Android. Normalt bliver programmører specialiseret i enten iOS-udvikling eller Android-udvikling.
  • Til at skrive serverapplikationen og API’er skal programmøren have erfaring med at skrive vedligeholdelsesvenlig kode med den bedste sikkerhed og ydeevne.
  • Til kvalitetssikring skal kvalitetssikringsspecialisten og testeren være detaljeorienteret og have erfaring med at lede efter funktionalitets- og designproblemer, som normalt ikke er lette at se for udviklerne.
  • Udrulning af server-sideapplikationen går ud over at være udvikler eller programmør; det kræver en erfaren programmør og en cloudspecialist, der nogle gange kaldes DevOps. DevOps’en skal have erfaring med at installere applikationen, skabe et pålideligt servermiljø, database redundans, backup, sikkerhed, ydeevne og skalerbarhed af applikationen.
  • Udrulning af appen til app-butikken er normalt en let opgave.

Så når du ser på talentkravene til at bygge en app, vil du indse, at for at bygge en kvalitetsapp, der er pænt designet, brugervenlig, funktionel og skalerbar, har du brug for forskellige talenter med forskellige erfaringer og specialer, og dette kan tilføje betydelige omkostninger til app-projektet.

Mobile App Development Ball-park Cost

Baseret på alle de talenter, der er nødvendige, og alt det arbejde og proces, der går ind i at bygge en app, har jeg nedenfor lavet en ball-park cost estimation på at bygge apps.

For at læse mere om native app-udvikling vs hybrid app-udvikling, klik på nedenstående link:
https://www.comentum.com/phonegap-vs-native-app-development.html

MVP: Minimum Viable Product

Ball-park Cost Breakdown for Native App Development: Android & iPhone
Projekt Small MVP Small Enterprise Medium MVP Medium Enterprise Large MVP Large Enterprise
Discovery and Wireframing 1,500 $2,500 2.500$ 3.500$ 5.000$ 9.000$
App Screen Designs 2.000$ 3.000$ 3,000 3,500$ 5,000$ 5,000$ 9,000$
iOS native development 9,000 $11,000 $37,000 $45,000 $60,000 $90,000
Android native udvikling 9.000$ 11.000$ 37.000$ 45.000$ 60.000$ 90.000$,000
Back-end programmering, database og API’er $5,000 $7,000 $7,000 $9,000 $10,000 12.000$ 12.000$
Applikationsadministration N/A 7.000$ 7,500 9.000$ 15.000$ 10.000$ 20.000$
Kvalitetssikring og finjusteringer iOS 2.000$,000 $2,500 $5,000 $6,500 $7,000 $9,000
Kvalitetssikring og finjusteringer Android 2.000$ 2.500$ 5.000$,000 6.500$ 7.000$ 9.000$
Deployering og cloud 1.500$ 2.000$ 2,000 2.000$ 3.000$ 2.000$ 3.000$
Total (én platform) 21$,000 $35,500 $68,000 $81,000 $101,000 $152,000
Total (Android og iPhone) 32.000$ 49.000$ 110.000$ 125.500$ 168,000 $251,000

Ball-park Cost Breakdown for Hybrid App Development: Android & iPhone
Projekt Small MVP Small Enterprise Medium MVP Medium Enterprise Large MVP Large Enterprise
Discovery and Wireframing 1,500 2.500$ 2.500$ 3.500$ 5.000$ 7.500$
App Screen Designs 2,000 3.000$ 3.500$ 6.000$ 5.000$ 9.000$
Hybrid App Development using PhoneGap technology 10.000$ 12.000$ 12,000 38.000$ 45.000$ 65.000$ 100.000$
Back-end Programmering, Database og API’er 5.000$ 7.000$ 9.000$ 10.000$,000 $12,000 $12,000
Administration af applikationer N/A $7,500 $9,000 $15,000 $10,000 $20,- $20,000
Kvalitetssikring og forbedringer 2.000$ 4.000$ 5.000$ 5,000 $7,000 $9,000 $11,000
Deployering og cloud $1,500 $2,500 $2,000 $3,000 $2,000 $3,000
Total (Android & iPhone) 22.000$ 38.500$ 69$,000 $89,500 $108,000 $162,500

Kostningsfaktorer for udvikling af mobilapps

Kostprisen for udvikling af en mobilapp er baseret på disse faktorer:

1. App-platforme og miljø

Bygning til alle platforme øger omkostningerne betydeligt. Det skyldes, at Apple iPhone bruger Xcode IDE og Objective-C eller Swift-programmeringssprog, Android bruger Java-programmeringssprog og Windows bruger C#-programmeringssprog.

Hvis udvikleren skal bygge appen til alle platforme, og appen skal bygges ved hjælp af det native programmeringssprog for hver platform, vil udviklingsomkostningerne blive fordoblet eller tredoblet på grund af den tid, der er nødvendig for at bygge appen ved hjælp af de forskellige programmeringssprog for hver platform.

Hvis appen kan bygges ved hjælp af hybridudviklingsteknologi, kan udvikleren bygge den én gang ved hjælp af f.eks. HTML5, CSS og JavaScript og bruge PhoneGap til at forberede appen til alle platforme. Dette kan reducere omkostningerne betydeligt, ved at bygge til alle platforme.

Hvis du vil læse mere om forskellene mellem native app-udvikling og hybrid app-udvikling, kan du bruge nedenstående linkede artikel:
Native App Development vs Hybrid / PhoneGap App Development

2. Tilpasninger vs. Brug af standard app widgets og konvention

Jo flere tilpasninger, du foretager, jo mere tid tager det at udvikle din app.

Det er også godt at vide, at app-udviklingsmiljøet for hver platform indeholder visse widgets til opbygning af den standardiserede konvention såsom navigation, skiftende skærmbilleder, animationer og andre app-brugerinteraktionselementer. Når man bruger den standardiserede konvention, vil app-udviklingsomkostningerne være mere omkostningseffektive.

3. Antal app-skærme

Antallet af skærme har en direkte indvirkning på omkostningerne; jo flere skærme du har, jo mere arbejde vil der gå til at bygge appen.

4. Skærmenes kompleksitet

Det anbefales at bygge renere (og mindre travle) skærme med enkel navigation, der bruger standardiserede app-konventioner. Dette vil give den bedste brugeroplevelse og reducerer udviklingsomkostningerne.

Hvis du bygger travle skærme med mange komplekse navigationselementer, vil omkostningerne ved app-udviklingen være højere

5. E-handel og køb i appen

Hver gang du arbejder med penge, skal udvikleren være ekstra omhyggelig med beregningerne og sikkerheden.

Så in-app-køb og håndtering af penge giver mere tid til udvikling, fordi der skal bruges ekstra tid på at sikre, at beregningerne er korrekte, og at appen er sikker.

Selv efter at udviklingen er afsluttet, vil jeg anbefale, at man laver yderligere test af transaktioner for at garantere nøjagtigheden af beregningerne, før man går live med applikationen.

6. Integration med tredjeparts-API’er

Når appen skal kommunikere med andre tjenester, er udvikleren nødt til at lære og interagere med tredjeparts-API’er.

Dette vil kræve ekstra tid til at lære tredjeparts-API’erne og implementere dem korrekt. I mange tilfælde kan udvikleren ikke vurdere, hvor meget arbejde der er forbundet med grænsefladen til tredjeparts-API’er, før han/hun bruger noget tid på at lære API’et at bruge grænsefladen til det.

7. Kompleks animation

Skræddersyede og komplicerede animationer og spil kan tage betydelig udviklingstid.

Komplicerede animationer, der ikke giver nogen praktiske formål, kan også gøre din app langsommere og frustrere brugeren. Så prøv at holde dig væk fra komplicerede animationer, der ikke tjener noget praktisk formål.

8. Understøttelse af flere mobilskærmopløsninger

Der findes tre typer mobile enheder:

  • Smartphones – eksempler:
    • Smartphones – eksempler: Apple iPhone 3,4,5,6 eller Samsung Galaxy S2, S3, S4, S5 eller LG Nexus 4, 5.
    • Phablets (skærmstørrelsen ligger mellem smartphone og tablet), eksempler:
    • Phablets (skærmstørrelsen ligger mellem smartphone og tablet): Apple iPhone 6 Plus eller Motorola Nexus 6.
    • Tablets, eksempler: Apple iPhone 6 Plus eller Motorola Nexus 6.
    • Tablets, eksempler: Apple iPad flere versioner, mini flere versioner, Air, Samsung Galaxy Tab (flere versioner)

    De ovennævnte enheder har alle forskellige skærmopløsninger. For de nyere versioner af enhedernes operativsystemer er der måder at ændre størrelsen på indholdet, så det passer til de fleste skærme, men det kan være meget tidskrævende og dyrt at bygge brugerdefinerede grænseflader, der understøtter alle skærmopløsninger.

    9. Understøttelse af alle versioner af enhedernes styresystem (OS)

    Nedenfor er der en liste over alle versioner af styresystemer til mobile enheder og alle populære versioner af styresystemer. Hvis du ønsker at understøtte alle OS-versioner af alle enheder, vil omkostningerne være meget højere.

    Jeg vil anbefale, at du kun vælger de populære versioner af enhedernes OS, der skal understøttes.

    • Apples mobile enheder Apples mobile OS hedder iOS. iOS har versioner, der spænder fra version 1.0 til 8.0 (udgivet i september 2014).
      Nedenfor er der en liste over populære iOS-versioner og deres omtrentlige procentvise markedsandel pr. februar 2015:
      • iOS 8: 80 %
      • iOS 7: 19%
    • Android’s mobile enheder Android OS har versioner fra 2.2 til 5.0 (udgivet i november 2014) I februar 2015 er de populære Android OS-versioner følgende: (procentsatser er omtrentlige)
      • Android OS 4.4: 60 %
      • Android OS 4.3: 7 %
      • Android OS 4.2: 13 %
      • Android OS 4.1: 12 %
      • Android OS 5.0: 5%
    • Windows Mobile-enheder Microsoft Phone OS har versioner fra 7 til 8 (udgivet i oktober 2012) På nuværende tidspunkt har jeg ikke nok data til at give den omtrentlige procentdel af hver versions markedsandel.

    10. Offlineunderstøttelse

    Udvikling af funktionalitet til offlineunderstøttelse kan være tidskrævende og vil til gengæld øge udviklingsomkostningerne.

    11. Kontinuitet / Handoff-funktion

    Handoff-funktionen giver mulighed for at forbinde og dele/flytte oplysninger og data mellem forskellige enheder.

    Det kan være tidskrævende at opbygge handoff-funktionalitet, og det kan medføre betydelige omkostninger for projektet.

    Research til denne artikel blev afsluttet den 24. februar 2015; oplysningerne kan ændres.

Leave a Reply