Čtvrtý rok s React Native: proč vyvíjet aplikace právě s ním
English version of this article can be found HERE.
React Native. Technologie, za kterou stojí Facebook, využívají ji společnosti jako Uber nebo Airbnb, a díky které lze vytvářet nativní aplikace jak pro platformu iOS, tak i Android. S React Native pracujeme v Blueberry už čtvrtým rokem a rozhodli jsme se proto podělit o to, proč právě v této technologii mobilní aplikace vyvíjíme a co případně při jejím využití naopak zvážit.
Technologii React Native jsme začali používat několik měsíců poté, co ji Facebook v roce 2015 představil. Hlavní důvod, proč jsme vlastně chtěli React Native vyzkoušet byl fakt, že máme v týmu poměrně velký počet vývojářů, kteří umí s Javascriptem. A naučit se React Native na základní úroveň je pak už celkem jednoduché.
Úspora času, financí a efektivnější spolupráce v týmu
Tým, který dokáže s technologií pracovat — to byl jeden z důvodů, proč jsme se vůbec do vývoje aplikací v React Native pustili. Ale je tu řada dalších výhod, které tato technologie přináší.
Aplikaci například nemusíme vyvíjet dvakrát pro každou platformu zvlášť, a to se velmi odráží ve financích. Samozřejmě to nefunguje vždy tak, že by se díky tomu ušetřila přímo polovina nákladů a vývoj aplikace by nám trval o polovinu méně času. Je potřeba mít na paměti, že ačkoliv je většina kódu pro iOS i Android společných, mělo by se počítat ještě s dalšími náklady.
Každý z mobilních operačních systémů má totiž určité funkcionality, pro které je potřeba napsat specifický kód pro danou platformu. Z našich zkušeností se úspory pohybují často okolo čtyřiceti procent, a to rozhodně není málo.
React Native s sebou přináší i výhody při samotném vývoji, a to hlavně tím, že se jedná o Javascript. Celý tým je totiž schopen pracovat na aplikaci komplexně, a ne pouze na jejích jednotlivých částech. Díky tomu se dají vývojáři v týmu vzájemně lépe zastoupit. Pro vývoj není potřeba mít zvlášť týmy na webovou aplikaci, na Android a na iOS.
Co u React Native zohlednit
Tak jako každá technologie má i React Native řadu výhod, existují i nevýhody, které je třeba brát v potaz. React Native může být skvělou volbou pro data-driven aplikace. Existují ale typy aplikací, pro které je lepší zvolit technologii jinou — jako například aplikace s virtuální či rozšířenou realitou, aplikace, které pracují s grafikou, obrazem a videem, aplikace s výpočetně náročnými operacemi a celkově aplikace s vysokými nároky na optimalizaci výkonu.
A nesmí se také zapomenout na to, že do zdrojového kódu přidává určitá míra komplexity a vzniká tak řada závislostí. React Native sice je open source, ale hlavní hráč, který do vývoje této technologie investuje, je Facebook. Každé jeho strategické rozhodnutí pak celou technologii zásadně ovlivňuje. Obdobně to samozřejmě funguje i u jiných platforem. V případě, že pracujeme na mobilní aplikaci pro iOS, jsme závislí na Applu, pokud se jedná o aplikaci pro Android, tak vzniká zase závislost na Googlu. A u React Native se k tomu ještě přidává právě i závislost na Facebooku.
Volba správné technologie je pro byznys firmy klíčová
Určitá strategická rozhodnutí těchto velkých firem mohou přinést i případná technická omezení. To sice nemusí nutně představovat překážku pro programátory, jako spíše pro firmy. Pokud chtějí přistupovat k vývoji softwaru strategicky, je důležité mít představu, kam byznys celé firmy směřuje. Tedy, pokud chce firma vyvíjet produkt, který nebude sloužit jen krátkodobě, ale bude fungovat i několik let. Ať už padne volba na React Native či na jakoukoliv jinou technologii, je potřeba si vždy rozmyslet, zda mi daná technologie dává a bude i v budoucnu dávat to, co potřebuji — jak z pohledu pokrytí funkcionality, tak i z pohledu závislostí.
A když si to celé shrneme…
Proč tedy s React Native už čtvrtým rokem pracujeme? Tato technologie znamená větší úsporu nákladů pro naše klienty, snadnější spolupráci v týmu, částečne i jednodušší hiring, protože se do týmu hledá programátora jenom pro Javascript. A když dojde při samotném vývoji aplikace na hranu toho, co React Native umožňuje, existuje tu vždy možnost kombinovat tuto technologii s nativním vývojem. Navíc kolem React Native se pohybuje poměrně velká a aktivní komunita. Ta často doplňuje open source knihovny o věci, které tato technologie v základu nemá, a díky tomu už lze dnes využívat prakticky všechny funkcionality, která mobilní zařízení nabízejí. Může se zdát, že React Native oplývá jen samými superlativy. Ano, oplývá — nicméně jen v určitých aspektech, které mohou ale být pro daný projekt zásadní.
Chcete se o technologii React Native dozvědět více či zvažujete její využití pro svůj projekt? Ozvěte se nám na hi@blueberry.io, rádi vám poradíme!