Mobil alkalmazás fejlesztés költsége és folyamata
iPhone alkalmazás fejlesztés költsége / folyamata, Android alkalmazás fejlesztés költsége / folyamata
Gyakran kérik tőlem az ügyfelek, hogy adjak nekik egy becsült költséget egy alkalmazás fejlesztéséhez, hogy eldönthessék a költségvetést, vagy megkeressék a befektetőket, hogy pénzt gyűjtsenek az alkalmazás projekthez.
Ebben a cikkben átnézem a mobil alkalmazás fejlesztés folyamatát, a különböző tehetségigényeket, és a mobil alkalmazás fejlesztést befolyásoló elemeket.
Mobilalkalmazás-fejlesztés folyamata
Az alábbi elemek a mobilalkalmazás-fejlesztés tipikus folyamatát mutatják:
- Wireframing – A Wireframing az alkalmazáskészítés fontos folyamata; ez azért van, mert megalapozza, hogyan kell megtervezni és működtetni az alkalmazást. Fontos megjegyezni, hogy a mobilalkalmazások esetében sokkal időigényesebb és költségesebb lesz a képernyők átdolgozása vagy a funkciók újjáépítése, mint egy webes alkalmazás esetében, ezért fontos a drótvázak elkészítése a fejlesztés megkezdése előtt. A drótvázlatkészítés során az alkalmazás UX-szakértőjének és az alkalmazásfejlesztőnek felfedező üléseket (brainstorming) kell tartania a projekt tulajdonosával, hogy kitalálják, hogyan kell az alkalmazást megtervezni és működtetni.Minél összetettebb vagy minél több képernyővel rendelkezik a projekt, annál hosszabb időt vesz igénybe a drótvázlatkészítés befejezése. A drótvázlat elkészítéséhez az alkalmazás UX-szakértője elkészíti a navigációt, a képernyőket és az alkalmazás képernyőibe kerülő összes elemet, valamint az egyes képernyők funkcionalitását.
- App Screen Design – Az alkalmazás képernyőinek (front-end) tervezése iOS és Android esetében egyaránt.
- Alkalmazásprogramozás – Az alkalmazás képernyőinek (front-end) programozása mind az iOS, mind az Android számára.
- Alkalmazás / adatbázis keretrendszer – Az alkalmazás szerveroldali keretrendszerének (felhő / back-end) beállítása és az adatbázis szerkezetének létrehozása.
- Szerveroldali alkalmazásprogramozás – Az összes szerveroldali kód megírása a back-end funkciók megvalósításához.
- API-k fejlesztése – Az összes API megírása, amelyek összekötik az alkalmazás képernyőit a szerveroldali alkalmazással és az adatbázissal.
- Használhatósági minőségbiztosítás – Az alkalmazás képernyőinek tesztelése hibák szempontjából és az esetleges problémák javítása.
- Multi-platforms, Multi-devices, OS versions, Resolutions QA – Az alkalmazás tesztelése az összes különböző platformon (iPhone, Android, Windows Phone) és az egyes platformok különböző OS verzióin (az Apple iOS-nek két népszerű verziója van: iOS 8 és iOS 7, az Android OS-nek öt népszerű verziója van (Android 4.1,4.2,4.3,4.4,5.0), a különböző mobileszközök különböző felbontásai (az okostelefonok, phabletek és táblagépek különböző eszközei között elég sok felbontást kell tesztelni, és ez időigényes lehet).
- Back-end QA A back-end kód tesztelése teljesítmény és biztonság szempontjából.
- Cloud Setup – A szerveroldali alkalmazás telepítése a szerverre/felhőre.
- Submit to App Stores – Az alkalmazás telepítése az App Stores-ba.
A minőségi mobilalkalmazás építéséhez szükséges tehetségek
A minőségi mobilalkalmazás építése sok lépést igényel, és különböző szakterületekkel rendelkező tehetségeket igényel:
- A drótvázak kialakításához egy UX (User Experience) specialista, akinek tapasztalata van a legjobb felhasználói élményt nyújtó alkalmazás képernyőinek kialakításában. Az UX-szakértőnek ismernie kell az alkalmazás konvencióit és a navigáció és az elemek képernyőkön való megjelenítésének szabályait, hogy a felhasználók könnyebben navigálhassanak az alkalmazásban, és a megfelelő prioritásban találják meg, amire szükségük van.
- Az alkalmazás képernyőinek tervezéséhez a tervezőnek tudnia kell, hogyan kell tervezni a különböző eszközökre: iPhone, Android és Windows Phone képernyőkre. Röviden, a Tervezőnek rendelkeznie kell tapasztalattal és elképzeléssel arról, hogy a különböző objektumok vagy grafikai elemek hogyan fognak kinézni a kis telefonok képernyőin és a különböző felbontásokon. A tervezőnek a megfelelő méretet, a megfelelő grafikát és ikonokat, valamint témákat is használnia kell az alkalmazáshoz.
- Az alkalmazás képernyőinek programozásához a programozónak tapasztalattal kell rendelkeznie az Xcode környezet használatában, iOS esetében Objective-C vagy Swift, Android esetében pedig Java nyelven. Általában a programozók vagy az iOS-fejlesztésre, vagy az Android-fejlesztésre specializálódnak.
- A szerveroldali alkalmazás és az API-k írásához a programozónak tapasztalattal kell rendelkeznie a legjobb biztonságot és teljesítményt nyújtó, karbantartható kód írásában.
- A minőségbiztosításhoz a minőségbiztosítási szakembernek és a tesztelőnek részletorientáltnak kell lennie, és tapasztalattal kell rendelkeznie a funkcionalitási és tervezési problémák keresésében, amelyeket a fejlesztőknek általában nem könnyű észrevenniük.
- A szerveroldali alkalmazás telepítése túlmutat azon, hogy fejlesztő vagy programozó legyen; ehhez tapasztalt programozóra és felhőszakértőre van szükség, akit néha DevOps-nak is neveznek. A DevOps-nak tapasztalattal kell rendelkeznie az alkalmazás telepítésében, a megbízható szerverkörnyezet létrehozásában, az adatbázis redundanciájában, a biztonsági mentésben, a biztonságban, az alkalmazás teljesítményében és skálázhatóságában.
- Az alkalmazás telepítése az alkalmazásboltba általában egyszerű feladat.
Ha tehát megnézzük az alkalmazáskészítés tehetségigényét, rájövünk, hogy egy minőségi, szépen megtervezett, felhasználóbarát, funkcionális és skálázható alkalmazás elkészítéséhez különböző tapasztalatokkal és szakterületekkel rendelkező tehetségekre lesz szükség, és ez jelentősen megdrágíthatja az alkalmazásprojektet.
Mobile App Development Ball-park Cost
Az összes szükséges tehetség és az összes munka és folyamat alapján, ami egy alkalmazás építéséhez szükséges, az alábbiakban létrehoztam egy ball-park költségbecslést az alkalmazások építéséhez.
Az alábbi linkre kattintva többet olvashat a natív alkalmazásfejlesztés vs. hibrid alkalmazásfejlesztés témakörben:
https://www.comentum.com/phonegap-vs-native-app-development.html
MVP: Minimum Viable Product
Projekt | Kis MVP | Kisvállalat | Közepes MVP | Közepes MVP | Közepes vállalkozás | Nagy MVP | Nagy vállalkozás |
Feltárás és huzalozás | $1,500 | $2,500 | $2,500 | $3,500 | $5,000 | $9,000 | |
App képernyőtervek | $2,000 | $3,000 | $3,500 | $5,000 | $5,000 | $9,000 | |
iOS natív fejlesztés | $9,000 | $11,000 | $37,000 | $45,000 | $60,000 | $90,000 | |
Android natív fejlesztés | $9,000 | $11,000 | $37,000 | $45,000 | $60,000 | $90,000 | |
Back-end programozás, adatbázis és API-k | 5,000$ | 7,000$ | 9,000$ | 10,000 | $12,000 | $12,000 | |
Alkalmazás adminisztráció | N/A | $7,500 | $9,000 | $15,000 | $10,000 | $20,000 | |
minőségbiztosítás és finomítások iOS | $2,000 | $2,500 | $5,000 | $6,500 | $7,000 | $9,000 | |
minőségbiztosítás és finomítások Android | $2,000 | $2,500 | $5,000 | $6,500 | $7,000 | $9,000 | |
Telepítés és felhő | $1,500 | $2,000 | $2,000 | $3,000 | $2,000 | $3,000 | |
összesen (egy platform) | $21,000 | $35,500 | $68,000 | $81,000 | $101,000 | $152,000 | |
összesen (Android és iPhone) | 32,000$ | 49,000$ | 110,000$ | 125,500$ | 168,000 | $251,000 |
Projekt | Kis MVP | Kis Vállalat | Közepes MVP | Közepes vállalkozás | Nagy MVP | Nagy vállalkozás |
Feltárás és huzalozás | $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 alkalmazásfejlesztés PhoneGap technológiával | $10,000 | $12,000 | $38,000 | $45,000 | $65,000 | $100,000 |
Back-end programozás, Adatbázis és API-k | 5,000$ | 7,000$ | 9,000$ | 10,000 | $12,000 | $12,000 |
Pályázati adminisztráció | N/A | $7,500 | $9,000 | $15,000 | $10,000 | $20,000 |
minőségbiztosítás és finomítások | $2,000 | $4,000 | $5,000 | $7,000 | $9,000 | $11,000 |
Telepítés és felhő | $1,500 | $2,500 | $2,000 | $3,000 | $2,000 | $3,000 |
összesen (Android & iPhone) | $22,000 | $38,500 | $69,000 | 89,500$ | 108,000$ | 162,500$ |
Mobil alkalmazásfejlesztés költségtényezői
A mobil alkalmazás fejlesztésének költségei a következő tényezőkön alapulnak:
1. Alkalmazásplatformok és környezet
Az összes platformra történő fejlesztés jelentősen növeli a költségeket. Ennek oka, hogy az Apple iPhone az Xcode IDE-t és az Objective-C vagy Swift programozási nyelvet, az Android a Java programozási nyelvet, a Windows pedig a C# programozási nyelvet használja.
Ha a fejlesztőnek valamennyi platformra kell elkészítenie az alkalmazást, és az alkalmazást az egyes platformok natív programozási nyelvének használatával kell elkészítenie, a fejlesztési költségek megduplázódnak vagy megháromszorozódnak, mivel az egyes platformok különböző programozási nyelveinek használatával az alkalmazás elkészítéséhez sok időre van szükség.
Ha az alkalmazás hibrid fejlesztési technológiával is elkészíthető, a fejlesztő egyszer elkészítheti azt például HTML5, CSS és JavaScript használatával, és a PhoneGap segítségével elkészítheti az alkalmazást az összes platformra. Ez jelentősen csökkentheti az összes platformra való építés költségeit.
Ha többet szeretne olvasni a natív alkalmazásfejlesztés és a hibrid alkalmazásfejlesztés közötti különbségekről, használja az alább linkelt cikket:
Natív alkalmazásfejlesztés vs. hibrid / PhoneGap alkalmazásfejlesztés
2. Testreszabások vs. a szabványos alkalmazás widgetek és egyezmény használata
Minél több testreszabást végez, annál több időt vesz igénybe az alkalmazás fejlesztése.
Azt is jó tudni, hogy az egyes platformok alkalmazásfejlesztési környezete bizonyos widgeteket biztosít a szabványos konvenció kiépítéséhez, mint például a navigáció, a képernyőváltás, az animációk és az alkalmazás egyéb felhasználói interakciós elemei. A szabványos konvenció használata esetén az alkalmazásfejlesztési költségek költséghatékonyabbak lesznek.
3. Az alkalmazás képernyőinek száma
A képernyők száma közvetlen hatással van a költségekre; minél több képernyője van, annál több munkával jár az alkalmazás megépítése.
4. A képernyők összetettsége
Ajánlatos tisztább (és kevésbé forgalmas) képernyőket építeni egyszerű navigációval, amelyek szabványos alkalmazáskonvenciókat használnak. Ez biztosítja a legjobb felhasználói élményt és csökkenti a fejlesztési költségeket.
Ha zsúfolt képernyőket építünk sok összetett navigációs elemmel, az alkalmazásfejlesztés költségei magasabbak lesznek
5. E-kereskedelem és alkalmazáson belüli vásárlások
Bármikor, amikor pénzzel dolgozik, a fejlesztőnek különösen óvatosnak kell lennie a számításokkal és a biztonsággal.
Tehát az alkalmazáson belüli vásárlások és a pénzzel való foglalkozás több időt vesz igénybe a fejlesztés során, mert extra időre van szükség ahhoz, hogy a számítások pontosak legyenek, és az alkalmazás biztonságos legyen.
Még a fejlesztés befejezése után is javasolnám, hogy az alkalmazás éles üzembe helyezése előtt további teszteket végezzünk a tranzakciókkal kapcsolatban, hogy garantáljuk a számítások pontosságát.
6. Integráció a harmadik fél API-jaival
Ha az alkalmazásnak más szolgáltatásokkal kell kommunikálnia, a fejlesztőnek meg kell tanulnia a harmadik fél API-jait, és azokkal interfészeket kell létrehoznia.
Ehhez több időre lesz szükség a harmadik fél API-inak megismeréséhez és helyes implementálásához. Sok esetben a fejlesztő addig nem tudja felmérni a harmadik fél API-jaival való kapcsolódással járó munka mennyiségét, amíg nem tölt némi időt az API megismerésével és a kapcsolódással.
7. Komplex animáció
Az egyedi és bonyolult animációk és játékok jelentős fejlesztési időt vehetnek igénybe.
A bonyolult animációk, amelyek semmilyen gyakorlati célt nem szolgálnak, szintén lelassíthatják az alkalmazást és frusztrálhatják a felhasználót. Igyekezzen tehát távol maradni a bonyolult, semmilyen gyakorlati célt nem szolgáló animációktól.
8. Többféle mobil képernyőfelbontás támogatása
Háromféle mobileszköz létezik:
- Okostelefonok – példák: Apple iPhone 3,4,5,6 vagy Samsung Galaxy S2, S3, S4, S5, vagy LG Nexus 4, 5.
- Phabletek (a képernyő mérete az okostelefon és a táblagépek között van), példák:
- Tabletek, példák: Apple iPhone 6 Plus vagy Motorola Nexus 6.
- Tabletek: Apple iPad több verzió, mini több verzió, Air, Samsung Galaxy Tab (több verzió)
A fenti eszközök mind különböző képernyőfelbontással rendelkeznek. Az eszközök operációs rendszerének újabb verziói esetében vannak módok a tartalom átméretezésére, hogy a legtöbb képernyőnek megfeleljen, de az összes képernyőfelbontást támogató egyéni kezelőfelületek létrehozása nagyon időigényes és költséges lehet.
9. Az eszközök operációs rendszerének (OS) minden verziójának támogatása
Az alábbiakban az összes mobileszköz OS-verziójának és az összes népszerű OS-verziónak a listája található. Ha az összes eszköz összes operációs rendszerváltozatának támogatására törekszik, a költségek sokkal magasabbak lesznek.
Javaslom, hogy csak az eszközök operációs rendszerének népszerű verzióit válassza ki támogatni.
- Az Apple mobilkészülékei Az Apple mobil operációs rendszerének neve iOS. Az iOS-nek az 1.0-tól a 2014 szeptemberében megjelent 8.0 verzióig terjedő verziói vannak.
Az alábbiakban a népszerű iOS-verziók listája és piaci részesedésük hozzávetőleges százalékos aránya 2015 februárjában:- iOS 8: 80%
- iOS 7: 19%
- Az Android mobileszközök Az Android OS verziói 2.2-től 5.0-ig terjednek (2014 novemberében jelent meg) 2015 februárjában a népszerű Android OS verziók a következők: (a százalékos arányok hozzávetőlegesek)
- 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 eszközök A Microsoft Phone OS-nek 7-től 8-ig terjedő verziói vannak (2012 októberében jelent meg) Jelenleg nincs elég adatom ahhoz, hogy az egyes verziók piaci részesedésének hozzávetőleges százalékos arányát megadjam.
10. Offline támogatás
Az offline támogatási funkciók fejlesztése időigényes lehet, ami viszont növeli a fejlesztési költségeket.
11. Folyamatosság / Handoff funkció
A Handoff funkció a különböző eszközök közötti összekapcsolás és az információk és adatok megosztása/mozgatása funkcióját biztosítja.
A handoff funkció kiépítése időigényes lehet, és jelentős költségekkel növelheti a projektet.
A cikkhez kapcsolódó kutatás 2015. február 24-én készült; az információk változhatnak.
Leave a Reply