Mobile App Development Cost and Process

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

Często klienci proszą mnie o podanie im kosztu opracowania aplikacji, aby mogli zdecydować o budżecie lub zwrócić się do inwestorów w celu zebrania pieniędzy na projekt aplikacji.

W tym artykule omówię proces tworzenia aplikacji mobilnych, różne wymagania dotyczące talentów i elementy, które wpływają na rozwój aplikacji mobilnych.

Proces rozwoju aplikacji mobilnej

Poniższe pozycje pokazują typowy proces rozwoju aplikacji mobilnej:

  1. Wireframing – Wireframing jest ważnym procesem budowania aplikacji; to dlatego, że będzie budować fundamenty tego, jak aplikacja musi być zaprojektowana i funkcjonować. Jedną z ważnych rzeczy do zapamiętania jest to, że z aplikacji mobilnych, to będzie znacznie bardziej czasochłonne i kosztowne, aby przerobić ekrany lub przebudować funkcjonalność niż aplikacji internetowej, więc ważne jest, aby zbudować makiety przed rozpoczęciem rozwoju. Podczas wireframing, specjalista UX aplikacji i deweloper aplikacji muszą mieć sesje odkrywania (burza mózgów) z właścicielem projektu do żelaza, jak aplikacja ma być zaprojektowany i funkcjonować.Im większa złożoność, lub więcej ekranów projekt ma, tym dłużej potrwa, aby zakończyć wireframing. Aby zakończyć wireframing, specjalista UX aplikacji wil rysować navifgation, ekrany, i wszystkie elementy, które idzie do ekranów aplikacji i odnotowując funkcjonalności dla każdego ekranu.
  2. App Screen Design – Projektowanie ekranów aplikacji (front-end) zarówno dla iOS i Android.
  3. Programowanie aplikacji – Programowanie ekranów aplikacji (front-end) zarówno dla systemu iOS jak i Android.
  4. Application / Database Framework – Konfigurowanie ram aplikacji po stronie serwera (cloud / back-end) i tworzenie struktury bazy danych.
  5. Programowanie aplikacji po stronie serwera – Pisanie całego kodu po stronie serwera w celu wdrożenia funkcjonalności back-end.
  6. Rozwój interfejsów API – Napisanie wszystkich interfejsów API, które łączą ekrany aplikacji z aplikacją po stronie serwera i bazą danych.
  7. Usability QA – Testowanie ekranów aplikacji pod kątem błędów i naprawianie wszelkich problemów.
  8. Multi-platforms, Multi-devices, OS versions, Resolutions QA – Testowanie aplikacji na wszystkich różnych platformach (iPhone, Android, Windows Phone) i różnych wersjach OS każdej platformy (Apple iOS ma dwie popularne wersje: iOS 8 i iOS 7, Android OS ma pięć popularnych wersji (Android 4.1,4.2,4.3,4.4,5.0), Różne rozdzielczości różnych urządzeń mobilnych (pomiędzy różnymi urządzeniami typu smartfony, phablety i tablety, jest sporo rozdzielczości do przetestowania i może to być czasochłonne).
  9. Back-end QA Testowanie kodu back-end pod kątem wydajności i bezpieczeństwa.
  10. Cloud Setup – Wdrożenie aplikacji po stronie serwera do serwera / chmury.
  11. Submit to App Stores – Wdrożenie aplikacji do App Stores.

Talent potrzebny do zbudowania wysokiej jakości aplikacji mobilnej

Zbudowanie wysokiej jakości aplikacji mobilnej wymaga wielu kroków i wymaga różnych talentów o różnych specjalizacjach:

  • Do wireframingu potrzebny jest specjalista UX (User Experience), który ma doświadczenie w budowaniu ekranów aplikacji z najlepszym doświadczeniem użytkownika. Specjalista UX powinien znać konwencje aplikacji i zasady prezentowania nawigacji i elementów na ekranach, ułatwiając użytkownikom lepsze poruszanie się po aplikacji i znalezienie tego, czego potrzebują, we właściwym priorytecie.
  • Do projektowania ekranów aplikacji, Projektant musi wiedzieć jak projektować dla różnych urządzeń: iPhone, Android i Windows phone ekrany. Krótko mówiąc, Projektant powinien mieć doświadczenie i wizję tego, jak różne obiekty lub elementy graficzne będą wyglądać na małych ekranach telefonów i różnych rozdzielczościach. Projektant musi również zastosować odpowiedni rozmiar, odpowiednie grafiki i ikony oraz motywy dla aplikacji.
  • Do programowania ekranów aplikacji, Programista musi mieć doświadczenie w używaniu środowiska Xcode z Objective-C lub Swift dla iOS, i Java dla Androida. Zazwyczaj programiści specjalizują się albo w rozwoju iOS, albo w rozwoju Androida.
  • Do pisania aplikacji po stronie serwera i API, Programista musi mieć doświadczenie w pisaniu kodu łatwego do utrzymania z najlepszym bezpieczeństwem i wydajnością.
  • Dla QA, Specjalista ds. Zapewnienia Jakości i Tester musi być szczegółowo zorientowany i mieć doświadczenie w poszukiwaniu funkcjonalności i problemów projektowych, które zazwyczaj nie są łatwe do zobaczenia przez programistów.
  • Wdrażanie aplikacji po stronie serwera wykracza poza bycie Deweloperem lub Programistą; wymaga doświadczonego Programisty i Specjalisty ds. chmury, czasami określanego jako DevOps. DevOps musi mieć doświadczenie w instalowaniu aplikacji, tworzeniu niezawodnego środowiska serwerowego, redundancji bazy danych, tworzeniu kopii zapasowych, bezpieczeństwie, wydajności i skalowalności aplikacji.
  • Wdrożenie aplikacji do sklepu z aplikacjami jest zazwyczaj łatwym zadaniem.

Tak więc, gdy spojrzeć na wymagania talentów budowania aplikacji, zdasz sobie sprawę, że aby zbudować wysokiej jakości aplikacji, która jest ładnie zaprojektowane, przyjazne dla użytkownika, funkcjonalne i skalowalne, trzeba będzie różnych talentów z różnych doświadczeń i specjalności, a to może dodać znaczne koszty do projektu aplikacji.

Mobile App Development Ball-park Cost

Na podstawie wszystkich talentów, które są potrzebne i całej pracy i procesu, który idzie do budowy aplikacji, stworzyłem poniżej, ball-park szacunkowe koszty na budowanie aplikacji.

Aby przeczytać więcej o natywnym rozwoju aplikacji vs hybrydowym rozwoju aplikacji, kliknij na poniższy 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
Projekty ekranów aplikacji $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 Programing, Baza danych i API $5,000 $7,000 $9,000 $10,000 $12,000 $12,000
Application Administration N/A $7,500 $9,000 $15,000 $10,000 $20,000
Quality Assurance and Refinements iOS $2,000 $2,500 $5,000 $6,500 $7,000 $9,000
Quality Assurance and Refinements Android $2,000 $2,500 $5,000 $6,500 $7,000 $9,000
Deployment and Cloud $1,500 $2,000 $2,000 $3,000 $2,000 $3,000
Total (One Platform) $21,000 $35,500 $68,000 $81,000 $101,000 $152,000
Razem (Android i 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
Projekty ekranów aplikacji $2,000 $3,000 $3,500 $6,000 $5,000 $9,000
Hybrid App Development using PhoneGap technology $10,000 $12,000 $38,000 $45,000 $65,000 $100,000
Back-end Programing, Database and APIs $5,000 $7,000 $9,000 $10,000 $12,000 $12,000
Application Administration N/A $7,500 $9,000 $15,000 $10,000 $20,000
Quality Assurance and Refinements $2,000 $4,000 $5,000 $7,000 $9,000 $11,000
Deployment and 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

Faktory kosztu rozwoju aplikacji mobilnych

Koszt rozwoju aplikacji mobilnej opiera się na tych czynnikach:

1. Platformy i środowisko aplikacji

Budowanie dla wszystkich platform znacznie zwiększa koszty. Dzieje się tak dlatego, że Apple iPhone używa IDE Xcode i języka programowania Objective-C lub Swift, Android używa języka programowania Java, a Windows używa języka programowania C#.

Jeśli programista musi zbudować aplikację na wszystkie platformy, a aplikacja musi być zbudowana przy użyciu natywnego języka programowania każdej platformy, koszt rozwoju zostanie podwojony lub potrojony ze względu na ilość czasu, który jest potrzebny do zbudowania aplikacji przy użyciu różnych języków programowania każdej platformy.

Jeśli aplikacja może być zbudowana przy użyciu hybrydowej technologii rozwoju, programista może zbudować ją raz przy użyciu, na przykład, HTML5, CSS i JavaScript i użyć PhoneGap do przygotowania aplikacji na wszystkie platformy. Może to znacznie zmniejszyć koszty budowania dla wszystkich platform.

Aby przeczytać więcej o różnicach pomiędzy natywnym tworzeniem aplikacji a hybrydowym tworzeniem aplikacji, skorzystaj z poniższego artykułu:
Native App Development vs Hybrid / PhoneGap App Development

2. Customizations vs using Standard App Widgets and Convention

Im więcej dostosowań, które robisz, tym więcej czasu zajmuje opracowanie aplikacji.

Dobrze jest również wiedzieć, że środowisko programistyczne dla każdej platformy zapewnia pewne widżety do budowania standardowej konwencji, takie jak nawigacja, zmiana ekranów, animacje i inne elementy interakcji użytkownika aplikacji. W przypadku korzystania ze standardowej konwencji, koszt rozwoju aplikacji będzie bardziej opłacalny.

3. liczba ekranów aplikacji

Liczba ekranów ma bezpośredni wpływ na koszt; im więcej ekranów, tym więcej pracy trzeba będzie włożyć w budowę aplikacji.

4. złożoność ekranów

Zaleca się budowanie czystszych (i mniej ruchliwych) ekranów z prostą nawigacją, która wykorzystuje standardowe konwencje aplikacji. Zapewni to najlepsze wrażenia użytkownika i obniży koszty rozwoju.

Jeśli zbudujesz ruchliwe ekrany z wieloma złożonymi elementami nawigacyjnymi, koszt rozwoju aplikacji będzie wyższy

5. Ecommerce i In-App Purchases

Zawsze, gdy pracujesz z pieniędzmi, deweloper musi być bardzo ostrożny z obliczeniami i bezpieczeństwem.

Tak więc, zakupy w aplikacji i obchodzenie się z pieniędzmi dodają więcej czasu na rozwój, ponieważ dodatkowy czas jest potrzebny, aby upewnić się, że obliczenia są dokładne, a aplikacja jest bezpieczna.

Nawet po zakończeniu rozwoju zalecałbym przeprowadzenie dodatkowych testów na transakcjach, aby zagwarantować dokładność obliczeń przed wejściem na żywo z aplikacją.

6. Integracja z interfejsami API stron trzecich

Kiedy aplikacja musi komunikować się z innymi usługami, programista musi nauczyć się i połączyć z interfejsami API stron trzecich.

Będzie to wymagało dodatkowego czasu na poznanie interfejsów API stron trzecich i ich prawidłowe wdrożenie. W wielu przypadkach programista nie może ocenić ilości pracy, która jest zaangażowana w interfejs z interfejsami API stron trzecich, dopóki nie spędzi trochę czasu na nauce interfejsu API i interakcji z nim.

7. Złożona animacja

Dostosowane i skomplikowane animacje i gry mogą zająć znaczny czas rozwoju.

Skomplikowane animacje, które nie zapewniają żadnych praktycznych celów, mogą również spowolnić twoją aplikację i sfrustrować użytkownika. Staraj się więc trzymać z dala od skomplikowanych animacji, które nie służą żadnemu praktycznemu celowi.

8. Wsparcie dla wielu rozdzielczości ekranów mobilnych

Istnieją trzy rodzaje urządzeń mobilnych:

  • Smartfony – przykłady: Apple iPhone 3,4,5,6 lub Samsung Galaxy S2, S3, S4, S5, lub LG Nexus 4, 5.
  • Phablety (wielkość ekranu jest pomiędzy Smartfonem a Tabletem), przykłady: Apple iPhone 6 Plus lub Motorola Nexus 6.
  • Tablety przykłady: Apple iPad wiele wersji, mini wiele wersji, Air, Samsung Galaxy Tab (wiele wersji)

Wszystkie powyższe urządzenia mają różne rozdzielczości ekranu. W przypadku nowszych wersji systemu operacyjnego tych urządzeń istnieją sposoby na zmianę rozmiaru zawartości, aby dopasować ją do większości ekranów, ale budowanie niestandardowych interfejsów obsługujących wszystkie rozdzielczości ekranu może być bardzo czasochłonne i kosztowne.

9. Wsparcie dla wszystkich wersji systemu operacyjnego urządzeń (OS)

Poniżej znajduje się lista wszystkich wersji OS urządzeń mobilnych i wszystkich popularnych wersji OS. Jeśli szukasz wsparcia dla wszystkich wersji OS wszystkich urządzeń, koszt będzie znacznie wyższy.

Zalecałbym wybranie tylko popularnych wersji OS urządzeń do wsparcia.

  • Urządzenia mobilne Apple Mobilny system operacyjny firmy Apple nazywa się iOS. iOS ma wersje od wersji 1.0 do 8.0 (wydanej we wrześniu 2014 r.).
    Poniżej znajduje się lista popularnych wersji systemu iOS oraz przybliżone procenty ich udziału w rynku na luty 2015 roku:
    • iOS 8: 80%
    • iOS 7: 19%
  • Urządzenia mobilne Android System operacyjny Android posiada wersje od 2.2 do 5.0 (wydane w listopadzie 2014) Na luty 2015, popularne wersje systemu operacyjnego Android to: (procenty są przybliżone)
    • 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 Devices Microsoft Phone OS ma wersje od 7 do 8 (wydany w październiku 2012) W tym momencie nie mam wystarczających danych, aby zapewnić przybliżony procent udziału w rynku każdej wersji.

10. Wsparcie offline

Rozwijanie funkcjonalności wsparcia offline może być czasochłonne i z kolei zwiększy koszty rozwoju.

11. Ciągłość / Handoff Feature

Handoff feature zapewnia funkcjonalność łączenia i udostępniania / przenoszenia informacji i danych między różnymi urządzeniami.

Zbudowanie funkcjonalności handoff może być czasochłonne i może dodać znaczne koszty do projektu.

Badania do tego artykułu zostały zakończone 24 lutego 2015 r.; informacje mogą ulec zmianie.

Leave a Reply