10 důvodů, proč (ne)používat React Native | 2. část
V minulém díle jsem vám představil prvních 5 důvodů, proč v Ackee nepoužíváme hybridní technologie, jako je například React Native, pro vývoj mobilních aplikací pro klienty. Dnes se společně podíváme na druhou půlku.
Důvod šestý: Problémy s výkonem i na high-end telefonech
Minule jsem upozorňoval, že hybridní aplikace obvykle nefungují dobře na telefonech se slabším výkonem, zejména kvůli výpočetní režii JavaScriptu. Na high-end telefonech bohužel není situace o mnoho lepší. JavaScript je totiž jednovláknová technologie, což znamená, že nemůže výpočty provádět paralelně. To v dnešní době, kdy aplikace provádí většinu úkonů na pozadí (kromě práce s UI), znamená velkou zátěž i pro telefony s dvěma a více jádry. Aplikace se tak může zasekávat a zamrzat například při stahování většího množství dat. Na konci je pak otrávený uživatel, který nebude chtít aplikaci opakovaně používat.
Důvod sedmý: Budete závislí na komunitě
Komponenty a knihovny (na kterých je každá hybridní aplikace životně závislá) pro React Native jsou vyvíjeny komunitou, což má své výhody (například dynamičtější rozvoj), ale pou žití takových technologií v produkčních aplikacích je nevhodné. Kdykoliv se totiž může stát, že určitá skupina vývojářů se rozhodne přestat konkrétní komponentu vyvíjet, a vám nezbyde nic jiného než si ji napsat od píky, což vás bude stát víc času i peněz. Tento problém má javascript a jeho balíčkovací systém NPM dlouhodobě.
Důvod osmý: Budete čekat na nové funkce a opravy chyb
Každý rok Google a Apple uvolní novou verzi svých mobilních operačních systémů. Nativní aplikace jsou v pohodě, protože ty jsou v nových verzích vždy podporované zpětně, ale u React Native budete muset čekat, až někdo vydá aktualizaci kompatibilní s novými systémy. A nebudete čekat jen vy, spolu s vámi budou čekat i uživatelé vaší aplikace.
Důvod devátý: Nahrává to obložím
Všechno výše zmíněné nahrává také tomu, že je možné z pozice dodavatele „škubat“ klienta za opravu bugů, které mohou být chybou technologie. O tom, že nemáme rádi VendEr lock in jsme již psali :)
Důvod desátý: Úspěšné aplikace jsou nativní
Pro zjištění kvality technologie je nejlepší vyzkoušet aplikace, které ji používají. Všechny velké světové společnosti (Facebook, New York Times, CNN, Yalantis, Google) používají čistě nativní technologie. Srovnatelně kvalitní aplikace napsané hybridními technologiemi byste v obchodech s aplikacemi hledali jen těžko. Hybridní aplikace jsou tedy v produkci absolutně neprověřené.
Budu rád, když nám do komentářů napíšete své zkušenosti s hybridními technologiemi, třeba kde je úspěšně používáte a kde jste s nimi naopak nepochodili. Určitě se jedná o zajímavou větev vývoje, kterou budeme v Ackee bedlivě sledovat.
K tématu se rozhodně ještě vrátím i tady na blogu, abych shrnul přednosti nativního přístupu, které jsme vyzkoušeli a ještě vyzkoušíme v naší praxi.
Mrkněte, jak vyvíjíme aplikace u nás v Ackee.