10 důvodů, proč (ne)používat React Native | 1. část
V Ackee s novými technologiemi pro vývoj aplikací pracujeme každý den. Je to jedna z věcí, kterou považujeme za naší největší přednost, a tak nám samozřejmě nemohl uniknout silný mediální nástup technologie React Native. Stejně tak nám bohužel neuniklo zjevné nepochopení některých vývojářů, jak k této technologii přistupovat. Následující články mají vyvrátit největší mýty o React Native (RN) a vysvětlit, že u této technologie nejde o to, jestli je dobrá nebo špatná, ale o to, na co a jak ji použít.
(Pozn. ed.: Nepřehlédněte pokračování blogu 10 důvodů, proč (ne)používat React Native | 2. část a chystáme další!)
TL;DR
React Native je velice silná a slibná technologie, sami jsme ji použili na prototypování aplikací. Nicméně zatím je připravena na produkční využití jen v úzké skupině případů, jako jsou například malé aplikace o pár obrazovkách, které slouží především k zobrazování dat, případně pro použití uvnitř větší aplikace pouze pro konkrétní funkcionalitu.
Důvod první: Verze 0.33
Aktuálně je React Native ve verzi 0.33 (v době psaní článku). A fakt, že se toto číslo změní několikrát do měsíce celkem jasně ukazuje, o jak mladou a nevyzrálou technologii se jedná. Nové verze se vydávají cca 1–2× do měsíce, což je na jedné straně známkou toho, že je vývoj RN aktivní, ale zároveň to dává najevo, že je vývoj této technologie stále bouřlivý a je nutné často opravovat chyby. Většinu chyb navíc opravuje komunita a ne Facebook, který je přitom autorem RN.
Důvod druhý: Jak využívá RN sám Facebook
Facebook stojí za React Native, takže byste možná čekali, že oficiální aplikace Facebooku budou ReactNative plné. Dávalo by to smysl, že? Ve skutečnosti sám Facebook ve svém pokusu zjistil, že RN je vhodný pro použití spíše v malých aplikacích a sám jej používá například jen na obrazovku s událostmi. Proč? Protože se jedná o jednoduchý příklad opakujícího se motivu. A to je přesně místo, kde se RN hodí. Navíc i Facebook samotný v článku popisuje, že nebylo úplně jednoduché to vyladit.
Důvod třetí: Ukázkové aplikace
Ukázkové aplikace vystavené na oficiálním webu naše závěry potvrzují. Najdeme zde pouze malé aplikace s jednoduchým uživatelským rozhraním a opakujícími se obrazovkami. Náhoda? Nemyslím si.
Důvod čtvrtý: RN není „napiš jednou, použij 3x“
U oficiálních ukázek ještě zůstaneme. 30 ze 41 aplikací zde uvedených jsou určené pouze pro jednu platformu, ze zbylých 11 jsou 4 přímo do Facebooku. Zřejmě tedy není tak jednoduché napsat kód jednou a rovnou ho poslat do App Store a na Google Play, jak horliví propagátoři RN s oblibou uvádějí.
Důvod pátý: Pomalé aplikace na low-end telefonech
Vzhledem k tomu, že React Native přístup staví na Javascriptu, který má nezanedbatelnou výpočetní režii, znamená to u datově nebo graficky náročnějích aplikací větší zatížení systémových prostředků telefonu, což zejména u levnějších přístrojů může znamenat pomalou aplikaci. Pak již platí jednoduchá rovnice: Sekající se aplikace = ztráta stávajících uživatelů = špatné hodnocení v App Store/Google Play = odrazení nových uživatelů. A jak sám Facebook ve výše zmíněném článku přiznává, performance je jedním z problémů této technologie.
V příštím díle se podíváme na dalších 5 důvodů, proč (ne)používat React Native. Mezitím mrkněte, jak probíhá vývoj aplikací u nás v Ackee.