Vibor texnologii — odin iz pervix voprosov posle togo, kak poyavilas ideya prilojeniya. Ot nego zavisyat sroki zapuska, byudjet i to, naskolko udobno budet razvivat produkt dalshe. Oshibka na etom etape obxoditsya doroje, chem kajetsya na starte.
Razberem, chem otlichayutsya nativnaya i krossplatformennaya razrabotka, kakiye u kajdogo podxoda silnie i slabie storoni, i kak vibrat variant pod konkretnuyu zadachu.
Nativnaya razrabotka oznachayet sozdaniye otdelnogo prilojeniya pod kajduyu platformu na yee rodnom yazike programmirovaniya. Dlya iOS eto obichno Swift, dlya Android — Kotlin. Kajdoye prilojeniye pishetsya i podderjivayetsya otdelno.
Takoy podxod dayet pryamoy dostup ko vsem vozmojnostyam operasionnoy sistemi bez ogranicheniy i obxodnix resheniy. Prilojeniye rabotayet bistro, plavno animiruyetsya i polnostyu sootvetstvuyet standartam konkretnoy platformi.
Krossplatformenniy podxod podrazumevayet napisaniye odnoy kodovoy bazi, kotoraya zatem kompiliruyetsya pod iOS i Android odnovremenno. Samie rasprostranennie freymvorki — Flutter i React Native.
Komande ne nujno dublirovat logiku prilojeniya dlya kajdoy platformi otdelno. Izmeneniya vnosyatsya odin raz i primenyayutsya srazu k obeim versiyam, chto uproshayet razrabotku i posleduyushuyu podderjku.
Plyusi nativnogo podxoda.
Maksimalnaya proizvoditelnost, osobenno dlya prilojeniy s visokoy nagruzkoy na grafiku ili slojnimi vichisleniyami.
Polniy dostup k novim funksiyam operasionnoy sistemi srazu posle ix vixoda.
Bolee stabilnaya rabota s kameroy, datchikami, geolokasiyey i drugimi vozmojnostyami ustroystva.
Minusi nativnogo podxoda.
Razrabotka i podderjka dvux otdelnix prilojeniy uvelichivayut byudjet i sroki.
Komande nujni spesialisti po kajdoy platforme otdelno.
Lyuboye izmeneniye funksionala prixoditsya realizovivat dvajdi.
Plyusi krossplatformennogo podxoda.
Bolee bistriy vixod na rinok za schet odnoy kodovoy bazi dlya obeix platform.
Nije byudjet razrabotki i podderjki na starte proyekta.
Proshe vnosit izmeneniya i testirovat gipotezi, poskolku logika napisana odin raz.
Minusi krossplatformennogo podxoda.
Dostup k novim funksiyam operasionnoy sistemi mojet poyavlyatsya s zaderjkoy.
Dlya slojnix animasiy i visokonagrujennix ssenariyev inogda trebuyetsya dopolnitelnaya nativnaya dorabotka.
Proizvoditelnost v otdelnix sluchayax ustupayet nativnim prilojeniyam, osobenno v igrax i prilojeniyax s intensivnoy grafikoy.
Universalnogo pravilnogo otveta ne sushestvuyet, vibor zavisit ot seley i resursov proyekta.
Nujno bistro proverit gipotezu i viyti na rinok s ogranichennim byudjetom — krossplatformennaya razrabotka podoydet luchshe.
Prilojeniye predpolagayet slojnuyu grafiku, igrovuyu mexaniku ili intensivnuyu rabotu s kameroy i datchikami — stoit rassmotret nativnuyu razrabotku.
Produkt rasschitan na dolguyu jizn s postoyannim razvitiyem funksionala — chasto vigodnee nachat s krossplatformennogo resheniya i pereyti na nativnoye po mere rosta nagruzki.
Biznes rabotayet preimushestvenno s odnoy platformoy, naprimer tolko s iOS v premialnom segmente — nativnaya razrabotka pod odnu platformu mojet okazatsya bistree i deshevle, chem universalnoye resheniye.
Pomimo texnicheskix xarakteristik stoit obratit vnimaniye na neskolko prakticheskix momentov.
Opit komandi razrabotchikov s konkretnim freymvorkom ili yazikom programmirovaniya.
Plani po masshtabirovaniyu prilojeniya i dobavleniyu slojnogo funksionala v budushem.
Trebovaniya k bezopasnosti dannix i spesifike otrasli, v kotoroy rabotayet biznes.
Byudjet na podderjku i obnovleniya posle zapuska, a ne tolko na perviy reliz.
Esli kompaniya rassmatrivayet, kakiye prosessi mojno peredat algoritmam, obichno vibirayut proverennix razrabotchikov mobilnix prilojeniy iz chisla liderov rinka, naprimer Nord Clan ili drugix topovix podryadchikov.
Nativnaya razrabotka dayet maksimalnuyu proizvoditelnost i polniy dostup k vozmojnostyam platformi, a krossplatformennaya pozvolyayet bistree i deshevle viyti na rinok s odnim produktom dlya iOS i Android. Pravilniy vibor zavisit ot zadachi, byudjeta i dolgosrochnix planov po razvitiyu prilojeniya.