Kuriant aplikacijas mobiliems įrenginiams, nepriklausomai nuo to ar iOS ar Android platformai - programuotojai susiduria su visa eile iššūkių, tačiau viena kompanija, po daugiau nei metų darbo aptiko esminius iOS ir Android platformoms skirtų aplikacijų kūrimo skirtumus.
Šios savaitės pradžioje „Infinum“ paskelbė įrašą, kuriame dalinasi savo pastebėjimais apie iOS ir Android aplikacijų kūrimo skirtumus. Žinoma, daugelį šių skirtumų galima nuspėti, tačiau pateiktame įraše dėmesį patraukia skaičiai.
Peržiūrėdami šešis savo sukurtus projektus, kiekvieno kurių rezultatas buvo paskelbtas Apple App Store ir Google Play aplikacijų parduotuvėje, „Infinum“ aptiko jog Android aplikacijoms reikia vidutiniškai 38% daugiau kodo nei to reikia kuriamas aplikacijas skirtas iOS įrenginiams. Peržvelgiant kompanijos pastebėjimus dėmesį patraukia tas faktas, kad didžiausio projekto Android skirtos aplikacijos kodas yra tik 6% didesnis nei iOS, tačiau kitas projektas, kurio iOS aplikacijos versijai prireikė 5 000 kodo eilučių, Android versijoje turi net 14 000 eilučių programinio kodo. Nors daugiau kodo nebūtinai yra blogai, tačiau suprantama, kad parašyti daugiau kodo - sugaištama daugiau laiko.
Programinio kodo eilutės
iOS
Android
Skirtumas %
Projektas A
6 829
15 323
124%
Projektas B
48 671
50 756
4%
Projektas C
15 807
28 449
80%
Projektas D
5 148
14 893
189%
Projektas E
21 698
25 501
18%
Projektas F
6 956
10 347
49%
Viso
105 109
145 269
38%
Darbo laiko sugaišto aplikacijos kūrimui paskaičiuoti „Infinum“ naudoja paslaugą pavadintą „Productive“. Išskaidydama projektų trukmės laiką pagal operacines sistemas, kompanija aptiko jog kuriant Android įrenginiams skirtas aplikacijas sugaištama apie 30% daugiau laiko nei jo reikia kuriant aplikacijas skirtas iPhone ar iPad.
Darbo valandų skaičius
iOS
Android
Skirtumas %
Projektas A
241
440
83%
Projektas B
1 586
1 613
2%
Projektas C
822
1 157
41%
Projektas D
295
755
156%
Projektas E
602
647
7%
Projektas F
244
257
5%
Viso
3 790
4 869
28%
Programuotojų komanda taip pat išsakė savo mintis kodėl Android aplikacijų kūrimas trunka ilgiau:
Daugiau kodo - aplikacijos skirtos Android platformos pagrindu veikiančiuose įrenginiuose rašomos Java programavimo kalba, kurioje lyginant su Objective-C ar Swift tiesiog „daugiau žodžių“. Jūs priversti rašyti daugiau kodo. Ilgesnis kodas reiškia, kad jį parašyti trunka ilgiau bei didesnė potencialių klaidų tikimybė.
Lėtesni emuliatoriai - net ir naudojant „GenyMotion“, Android emuliatoriai yra lėtesni nei simuliatoriai skirti iOS ir tai lėtina bendrą Android aplikacijų kūrimo procesą.
Fragmentacija - Android aplikacijas reikia patikrinti gerokai didesniame įvairių gamintojų įrenginių kiekyje. Didelė Android įrenginių fragmentacija reiškia didesnė tikimybė, kad kokio nors gamintojo įrenginyje ne viskas veiks taip kaip turėtų. (Velnias, tai išlindo kažkokiame kinietiškame telefone, kurį jūs galite įsigyti tik Lietuvoje[1])
XML išdėstymas - išdėstymai Android aplikacijoms pagrinde rašomi XML rankiniu būdu ir todėl WYSIWYG technika čia yra naudojama mažiau nei iOS.
Taigi, kompanijai Android aplikacijų kūrimas kainuoja brangiau ir ji planuoja tai išreikšti ir aplikacijų skirtų Android platformai kainoje. Kadangi reikia tikėtis, kad su laiku Android įrenginiams skirtų aplikacijų kūrimo įrankiai tobulės - reikia tikėtis, kad atitinkamai ir šiai platformai skirtų aplikacijų kaina žemės.
„Lietuva“ šioje citatoje nėra mano išmislas - tai citata. Man gana dažnai tenka sutikti Lietuvą minint įvairiuose kontekstuose, kur norima trumpai pasakyti „kažkokia realiai egzistuojanti valstybė, tačiau niekas nežino kur ji yra“ žodžiu „velniai žino kur“, ar „valstybė - stebuklų šalis, kurioje visi vaikšto ant rankų, nuogi ir vieni kitus valgo“. ↩
Jei atvirai, tai kai kurių Android aplikacijų trūksta iOS'e - labiausiai pasigendu alternatyvos androidinei Google Camera, nes pastaroji daro puikias panoramas, ne tik sudėdama nuotraukas į eilutę (dešrą), bet gali jungti ir, pvz, 3x3 ar didesnę nuotraukų matricą į vieną platų kampą imituojantį kadrą.
Ko dar trūksta iOS - yra įdomių smulkių nemokamų projektų, kurių kūrėjai tiki tik android ir visai nesistengia kurti iOS
Puikias panoramas daro iOS Camera aplikacija. Kadangi efektai sintetiniai, tai mano galva visada geriau turėti „normalų“ kadrą ir tada jau efektuotis. Šiaip mėgstantiems įvairius efektus iOS yra tiek aplikacijų, kad ką nors apie Google svajoti galima tik prieš dieną įsigijus pirmą iPhone. IMHO
Paskutiniu metu beveik viskas kas ant ios sukasi tas ir ant androido yra arba atvirksciai, apart keleta programeliu
O tie visi eiluciu kodai tai cia programuotoju galvos skausmas, paprastam vartotojui nei silta nei salta. Jei nores uzsidirbti programuotojas tai ir parasys tu eiluciu tiek kiek reikia :) maziau prie zaidimu sedes
Kinietiškas telefonas, kurį galima isigyti tik Lietuvoje, tai, turbūt, Mikrovisatos e-Star? :)
Jei atvirai, tai kai kurių Android aplikacijų trūksta iOS'e - labiausiai pasigendu alternatyvos androidinei Google Camera, nes pastaroji daro puikias panoramas, ne tik sudėdama nuotraukas į eilutę (dešrą), bet gali jungti ir, pvz, 3x3 ar didesnę nuotraukų matricą į vieną platų kampą imituojantį kadrą.
Ko dar trūksta iOS - yra įdomių smulkių nemokamų projektų, kurių kūrėjai tiki tik android ir visai nesistengia kurti iOS
Puikias panoramas daro iOS Camera aplikacija. Kadangi efektai sintetiniai, tai mano galva visada geriau turėti „normalų“ kadrą ir tada jau efektuotis. Šiaip mėgstantiems įvairius efektus iOS yra tiek aplikacijų, kad ką nors apie Google svajoti galima tik prieš dieną įsigijus pirmą iPhone. IMHO
As kartais kai pasiziuriu to ko man labiausiai reikia ios nerandu, o androide tai realizuota
SwiftKey Keyboard, nors ios ji yra bet tikrai kazkokia kastruota, neverta net demesio
SEO SERP mojo https://play.google.com/store/apps/details?id=com.SERPmojo
SEO watcher https://play.google.com/store/apps/details?id=ru.mcsar.seowatcher
Today Calendar Pro https://play.google.com/store/apps/details?id=com.underwood.calendar
ios ir neblogu kalendoriu, bet Androide didziausias plusas kad ji galima isideti kaip widgets ant ekrano ir nereikia pastoviai pasileidineti kalendoriu kad pasiziureti uzimtas datas.
Light Flow - LED&Notifications https://play.google.com/store/apps/details?id=com.rageconsulting.android.lightflow
Tokio gerio iPhone turbut dar ilgai netures
Paskutiniu metu beveik viskas kas ant ios sukasi tas ir ant androido yra arba atvirksciai, apart keleta programeliu
O tie visi eiluciu kodai tai cia programuotoju galvos skausmas, paprastam vartotojui nei silta nei salta. Jei nores uzsidirbti programuotojas tai ir parasys tu eiluciu tiek kiek reikia :) maziau prie zaidimu sedes