Mobile App Development Cost and Process

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

Ofta frågar kunderna mig om jag kan ge dem en ungefärlig kostnad för att utveckla en app, så att de kan bestämma sig för en budget eller närma sig investerare för att samla in pengar till app-projektet.

I den här artikeln kommer jag att gå igenom processen för utveckling av en mobilapp, olika krav på talanger och saker som påverkar utvecklingen av en mobilapp.

Process för utveckling av mobilappar

Understående punkter visar den typiska processen för utveckling av mobilappar:

  1. Wireframing – Wireframing är en viktig process för att bygga en app, eftersom den utgör grunden för hur appen ska utformas och fungera. En viktig sak att notera är att med mobilappar blir det mycket mer tidskrävande och kostsamt att göra om skärmarna eller bygga om funktionaliteten än med en webbapp, så det är viktigt att bygga wireframes innan utvecklingen påbörjas. Under wireframingen måste en UX-specialist och en app-utvecklare ha upptäcktsmöten (brainstorming) med projektägaren för att reda ut hur appen ska utformas och fungera.Ju mer komplicerat eller ju fler skärmar projektet har, desto längre tid kommer det att ta att färdigställa wireframingen. För att slutföra wireframingen kommer en UX-specialist att rita upp navigeringen, skärmarna och alla element som ingår i appskärmarna och notera funktionaliteterna för varje skärm.
  2. App Screen Design – Utformning av appskärmarna (front-end) för både iOS och Android.
  3. Programmering av appar – Programmering av appskärmarna (front-end) för både iOS och Android.
  4. Ramverk för applikation/databas – Inställning av ramverket för applikationens serversida (moln/back-end) och skapande av databasstrukturen.
  5. Programmering av serverbaserad tillämpning – Skrivning av all serverbaserad kod för genomförande av back-end-funktionen.
  6. Utveckling av API:er – Skrivning av alla API:er som ansluter appskärmarna till den serverbaserade applikationen och databasen.
  7. QA för användbarhet – Testar appskärmarna för att upptäcka fel och åtgärda eventuella problem.
  8. QA för flera plattformar, enheter, OS-versioner och upplösningar – Testning av appen på alla olika plattformar (iPhone, Android, Windows Phone) och olika OS-versioner av varje plattform (Apple iOS har två populära versioner: iOS 8 och iOS 7, Android OS har fem populära versioner (Android 4.1,4.2,4.3,4.4,5.0), olika upplösningar för olika mobila enheter (mellan olika enheter av smartphones, phablets och surfplattor finns det en hel del upplösningar att testa för och det kan vara tidskrävande).
  9. Back-end QA Testning av back-end koden för prestanda och säkerhet.
  10. Molninstallation – Distribuera den serverbaserade applikationen till servern/molnet.
  11. Submit to App Stores – Distribuera appen till App Stores.

Talanger som behövs för att bygga en mobilapp av hög kvalitet

Att bygga en mobilapp av hög kvalitet kräver många steg och kräver olika talanger med olika specialiteter:

  • För wireframing behövs en UX-specialist (User Experience) som har erfarenhet av att bygga appskärmar med bästa användarupplevelse. En UX-specialist bör känna till appens konventioner och regler för att visa upp navigeringen och elementen på skärmarna så att det blir enkelt för användarna att bättre navigera i appen och hitta det de behöver, i rätt prioritet.
  • För att utforma appskärmarna måste designern veta hur man utformar för olika enheter: iPhone-, Android- och Windows Phone-skärmar. Kort sagt bör designern ha erfarenhet och en vision av hur olika objekt eller grafiska element kommer att se ut på små telefonskärmar och olika upplösningar. Designern måste också använda rätt storlek, rätt grafik och ikoner samt teman för appen.
  • För att programmera appens skärmar måste programmeraren ha erfarenhet av att använda Xcode-miljön med Objective-C eller Swift för iOS och Java för Android. Vanligtvis blir programmerare specialiserade på antingen iOS-utveckling eller Android-utveckling.
  • För att skriva program och API:er på serversidan måste programmeraren ha erfarenhet av att skriva underhållbar kod med bästa säkerhet och prestanda.
  • När det gäller kvalitetssäkring måste kvalitetssäkringsspecialisten och testaren vara detaljorienterad och ha erfarenhet av att leta efter funktionalitet och designproblem som vanligtvis inte är lätta att se för utvecklarna.
  • Utplacering av den serverbaserade applikationen går utöver att vara en utvecklare eller programmerare; det krävs en erfaren programmerare och en molnspecialist, vilket ibland kallas DevOps. DevOps-specialisten måste ha erfarenhet av att installera applikationen, skapa en tillförlitlig servermiljö, databasredundans, säkerhetskopiering, säkerhet, prestanda och skalbarhet för applikationen.
  • Att distribuera appen till appbutiken är vanligtvis en enkel uppgift.

Så när du tittar på talangkraven för att bygga en app kommer du att inse att för att bygga en kvalitetsapp som är snyggt utformad, användarvänlig, funktionell och skalbar kommer du att behöva olika talanger med olika erfarenheter och specialiteter, och detta kan lägga till avsevärda kostnader för app-projektet.

Kostnad för utveckling av mobilappar

Baserat på alla talanger som behövs och allt arbete och all process som ingår i byggandet av en app har jag nedan skapat en kostnadsberäkning för att bygga appar.

För att läsa mer om native app development vs hybrid app development, klicka på nedanstående länk:
https://www.comentum.com/phonegap-vs-native-app-development.html

MVP: Minimum Viable Product

Kostnadsfördelning för utveckling av native appar: 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 500$ 5 000$ 5 000$ 9 000$
iOS native development 9,000 $11,000 $37,000 $45,000 $60,000 $90,000
Android native development 9 000$ 11 000$ 37 000$ 45 000$ 60 000$ 90,000
Back-end programmering, databas och API:er 5 000$ 7 000$ 7 000$ 9 000$ 10,000 12 000 12 000
Administration av applikationer N/A 7,500 9 000 15 000 10 000 20 000
Kvalitetssäkring och förbättringar iOS 2,000 $2,500 $5,000 $6,500 $7,000 $9,000
Kvalitetssäkring och förädling Android 2 000$ 2 500$ 5,000 $6,500 $7,000 $9,000
Uppsättning och moln $1,500 $2,000 2 000$ 3 000$ 2 000$ 3 000$
Total (en plattform) 21,000 $35,500 $68,000 $81,000 $101,000 $152,000
Total (Android och iPhone) $32,000 $49,000 $110,000 $125,500 $168,000 $251 000

Kostnadsfördelning för utveckling av hybridappar: 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-skärmdesigns 2,000 3 000$ 3 500$ 6 000$ 5 000$ 9 000$
Hybrid app-utveckling med hjälp av PhoneGap-teknologi 10 000$ 12,000 38 000$ 45 000$ 65 000$ 100 000$
Back-end programmering, Databas och API 5 000 dollar 7 000 dollar 9 000 dollar 10 dollar,000 $12,000 $12,000
Administration av applikationer N/A $7,500 $9,000 $15,000 $10,000 $20,000
Kvalitetssäkring och förbättringar 2 000$ 4 000$ 5,000 $7,000 $9,000 $11,000
Uppsättning och moln $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

Kostnadsfaktorer för utveckling av en mobilapp

Kostnaden för att utveckla en mobilapp baseras på dessa faktorer:

1. App-plattformar och miljö

Att bygga för alla plattformar ökar kostnaden avsevärt. Detta beror på att Apple iPhone använder Xcode IDE och programmeringsspråket Objective-C eller Swift, Android använder programmeringsspråket Java och Windows använder programmeringsspråket C#.

Om utvecklaren måste bygga appen för alla plattformar, och appen måste byggas med hjälp av varje plattforms inhemska programmeringsspråk, kommer utvecklingskostnaden att fördubblas eller tredubblas på grund av den tid som behövs för att bygga appen med hjälp av olika programmeringsspråk för varje plattform.

Om appen kan byggas med hjälp av hybridutvecklingsteknik kan utvecklaren bygga den en gång med till exempel HTML5, CSS och JavaScript och använda PhoneGap för att förbereda appen för alla plattformar. Detta kan minska kostnaden avsevärt för att bygga för alla plattformar.

Om du vill läsa mer om skillnaderna mellan native app-utveckling och hybrid app-utveckling kan du använda nedanstående länkade artikel:
Native App Development vs Hybrid / PhoneGap App Development

2. Anpassningar vs användning av standard appwidgetar och konventioner

Ju fler anpassningar du gör, desto mer tid tar det att utveckla din app.

Det är också bra att veta att apputvecklingsmiljön för varje plattform tillhandahåller vissa widgetar för att bygga den standardiserade konventionen, t.ex. navigering, skärmbyte, animationer och andra element för interaktion med appanvändare. När man använder den standardiserade konventionen blir apputvecklingskostnaden mer kostnadseffektiv.

3. Antal appskärmar

Antalet skärmar har en direkt inverkan på kostnaden; ju fler skärmar du har, desto mer arbete går åt för att bygga appen.

4. Skärmarnas komplexitet

Det rekommenderas att bygga renare (och mindre upptagna) skärmar med enkel navigering som använder standardiserade appkonventioner. Detta ger den bästa användarupplevelsen och minskar utvecklingskostnaderna.

Om du bygger upptagna skärmar med många komplexa navigeringselement blir kostnaden för apputvecklingen högre

5. E-handel och köp i appen

Varje gång man arbetar med pengar måste utvecklaren vara extra noggrann med beräkningarna och säkerheten.

Så, köp i appen och hantering av pengar lägger mer tid på utvecklingen eftersom extra tid behövs för att se till att beräkningarna är korrekta och att appen är säker.

Även efter att utvecklingen är avslutad skulle jag rekommendera att man gör ytterligare tester på transaktioner för att garantera att beräkningarna är korrekta innan man går live med applikationen.

6. Integration med tredjeparts-API:er

När appen behöver kommunicera med andra tjänster måste utvecklaren lära sig och skapa ett gränssnitt med tredjeparts-API:er.

Detta kräver extra tid för att lära sig tredjeparts-API:erna och implementera dem korrekt. I många fall kan utvecklaren inte bedöma hur mycket arbete som ingår i gränssnittet mot tredjeparts-API:er förrän han/hon tillbringar lite tid med att lära sig API:erna och att skapa ett gränssnitt mot dem.

7. Komplexa animationer

Anpassade och komplicerade animationer och spel kan ta avsevärd utvecklingstid i anspråk.

Komplicerade animationer som inte ger något praktiskt syfte kan också göra din app långsam och frustrera användaren. Försök därför att hålla dig borta från komplicerade animationer som inte tjänar något praktiskt syfte.

8. Stöd för flera mobila skärmupplösningar

Det finns tre typer av mobila enheter:

  • Smartphones – exempel: Apple iPhone 3,4,5,6 eller Samsung Galaxy S2, S3, S4, S5 eller LG Nexus 4, 5.
  • Phablets (skärmstorleken ligger mellan smartphone och surfplattor), exempel: Apple iPhone 6 Plus eller Motorola Nexus 6.
  • Tabletter, exempel: Apple iPad flera versioner, mini flera versioner, Air, Samsung Galaxy Tab (flera versioner)

Ovanstående enheter har alla olika skärmupplösningar. För de nyare versionerna av enheternas operativsystem finns det sätt att ändra storleken på innehållet så att det passar de flesta skärmar, men att bygga anpassade gränssnitt för att stödja alla skärmupplösningar kan vara mycket tidskrävande och kostsamt.

9. Stöd för alla versioner av enheternas operativsystem (OS)

Nedan följer en förteckning över alla versioner av mobila enheters operativsystem och alla populära OS-versioner. Om du vill ha stöd för alla OS-versioner för alla enheter blir kostnaden mycket högre.

Jag skulle rekommendera att endast välja de populära versionerna av enheternas operativsystem att stödja.

  • Apples mobila enheter Apples mobila operativsystem kallas iOS. iOS har versioner som sträcker sig från version 1.0 till 8.0 (släpptes i september 2014).
    Nedan följer en lista över populära iOS-versioner och ungefärliga procentsatser för deras marknadsandelar i februari 2015:
    • iOS 8: 80 %
    • iOS 7: 19%
  • Androids mobila enheter Android OS har versioner som sträcker sig från 2.2 till 5.0 (släpptes i november 2014) I februari 2015 är de populäraste Android OS-versionerna: (procentsatserna är ungefärliga)
    • 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-enheter Microsoft Phone OS har versioner som sträcker sig från 7 till 8 (släpptes i oktober 2012) I dagsläget har jag inte tillräckligt med data för att kunna ange den ungefärliga procentuella marknadsandelen för varje version.

10. Offlinestöd

Att utveckla för funktionalitet för offlinestöd kan vara tidskrävande och kommer i sin tur att öka utvecklingskostnaden.

11. Kontinuitet/handoff-funktion

Handoff-funktionen ger möjlighet att ansluta och dela/flytta information och data mellan olika enheter.

Att bygga upp handoff-funktionalitet kan vara tidskrävande och kan ge betydande kostnader för projektet.

Forskningen för den här artikeln slutfördes den 24 februari 2015; informationen kan komma att ändras.

Leave a Reply