Moji předchozí sérii blogů o React Native jste již možná četli. Trochu mě mrzí, že zůstala lehce nepochopená. React Native je určitě velice zajímavá technologie, chtěl jsem pouze upozornit na její úskalí a to, že ji agentury kolem nás používají špatně. Jak ukázal čas, měl jsem tenkrát pravdu. Tedy alespoň podle AirbnbUdacity, které pro vývoj svých mobilních aplikací react přestali používat.

Ani tento blogpost rozhodně nemá být prvoplánový hate na tuto technologii, pouze na nevhodný způsob použití a lživý marketing, který společnosti používají, aby klientům tuto technologii vnutili. Koneckonců oba výše zmíněné blogy o Airbnb a Udacity velice hezky popisují, proč zrovna pro ně nedává již tato technologie smysl a podporují tak teze, kterých se v Ackee již dlouhou dobu držíme.

Tvrzení, kterými se občas React Native propaguje a nejsou tak úplně pravda:

Stačí Vám pouze jeden vývojář

Nestačí. Na nativní moduly stále potřebujete iOS i Android vývojáře. Navíc k tomu potřebujete i šikovného React vývojáře. A najít toto v jednom člověku je v podstatě nemožné, místo tradičních 2 pozic tedy obsazujete pozice 3.

Ušetříte

Neušetříte. Je sice pravda, že velké množství kódu je sdíleno napříč platformami a napíše se ho tedy asi opravdu méně. Ale toho stráveného času kvůli aktualizacím frameworků, lazení nepředvídatelných chyb týkajících se RN nebo právě udržováním codebase ve 3 jazycích, případně učení se na 3 platformách… Z dlouhodobého hlediska se používání reactu ani jedné firmě neukázalo jako efektivní, a to jak po technické, tak finanční stránce.

Celé to můžete napsat v Reactu

Pokud se budeme bavit o mikro-aplikacích, na které je potřeba 1-2 měsíce vývoje, tak zde je to určitě pravda. Ale u velkých projektů tomu tak rozhodně není, viz výše zmíněné články. Vždy tedy budete potřebovat koordinaci a udržování lidských zdrojů pro 3 platformy a stejně tak udržování i vaší codebase. Pokusy psát velké aplikace kompletně v RN tady byly, ale nedopadly moc dobře a to ani v očích uživatelů, ani investorů.

Je tedy ten React Native špatný?

Není! Pokud přemýšlíte o nějaké malé, třeba interní aplikaci, která je odhadem na 1-2 měsíce práce, dokážete se přizpůsobit případným omezením platformy a máte dostatek vývojářů, kteří vám aplikaci poté budou spravovat, je to rozhodně cesta, kterou se můžete vydat a bude to dávat smysl. Paradoxně největší výhoda RN, že jeden kód vám vygeneruje stejné aplikace pro iOS i Android, se u velkých projektů vytrácí, jelikož u takových produktů můžete mít x důvodů, proč aplikace stejné mít nechcete. Ať už z hlediska platformy nebo testování nových funkcí.

Má React Native budoucnost?

Budoucnost React Native je i s ohledem na “odchod” těchto velkých hráčů nejistá. Určitě bude dobře, pokud se bude dále rozvíjet, protože svoje místo na trhu vývoje pro mobilní zařízení má. Ackee však určitě zůstane primárně u nativního vývoje aplikací. Jakožto CTO mám velkou zodpovědnost nejen za reputaci firmy, ale také za peníze našich klientů, které se rozhodli investovat do vývoje software u nás. A za takové situace vždy klientům poradím bezpečnější a dlouhodobě udržitelnější řešení, abych jim pomohl dosáhnout jejich cílů. U velkých projektů, kterým se zde věnujeme, nám míra rizika za tu hypotetickoou krátkodobou výhodu prostě nestojí.

Závěrem

Nutno říci, že jsme si jednu aplikaci v React Native střihli taky. Vědomě a od začátku. Jednalo se totiž o malou a jednoduchou věc pro neziskovou organizaci a to nám přišlo jako vhodný typ projektu pro React. S výsledkem jsme byli nadmíru spokojení – přesně to splnilo účel, pro jaký jsme si technologii vybrali. Máme ale i zkušenosti s appkami v Reactu, které spravujeme, a u nichž bychom sami při výběru technologií volili jinak. A právě proto vznikl tento blog post.

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *