< Zpět na články

Airbnb končí s Reactem, co na to Ackee?

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 Airbnb a Udacity, 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.

Dominik Veselý
Dominik Veselý
Co-Founder & CTODominik je informační router Ackee. Když se objeví nějaká nová technologie nebo zařízení, je mezi prvními uživateli. Rád běhá, jezdí na kole a řídí kabriolet.

Máte zájem o spolupráci? Pojďme to probrat osobně!

Napište nám >