Cross-platformové riešenia rapídne naberajú na popularite. Flutter a React Native sú dva najobľúbenejšie, no ktoré z nich je lepšie zvoliť?
Čo je React Native?
Framework na budovanie natívnych aplikácií s použitím Reactu. Vydaný bol v roku 2015 spoločnosťou Facebook. Je zadarmo a open-source, vďaka čomu je prístupný každému a napríklad na Github-e sa teší vyššej popularite.
Čo je Flutter?
Sada UI nástrojov vhodná na cross-platformové budovanie nástrojov naprieč mobilnému, webovému a desktop zariadeniu. Vydaný bol v roku 2018 spoločnosťou Google. Taktiež sa radí medzi open-source.
A keď sme si ich takto v skratke predstavili, poďme si ich nekompromisne porovnať.
UI – React Native alebo Flutter?
Komponenty aplikácií React Native využívajú natívne prostredie – napríklad home button tlačidlo na iPhone vyzerá presne ako v realite, a to isté aj pri systéme Android. To vývojárovi dodáva sebavedomie, že po každej iOS aplikácii bude aplikácia fungovať rovnako dobre, ako predtým.
Aplikácia Flutter vyzerá dobre na aktualizovaných, ale aj starších zariadeniach, a správa sa podobne v iOS aj v Android systéme. Flutter sa bude správať normálne na oboch platformách, vďaka imitácii oboch systémov.
Zdieľanie kódu – React Native alebo Flutter?
Pre React Native je to iOS a Android, ale vybrané knižnice povoľujú rovnaký kód aj na budovanie web či Windows 10 aplikácií. Kód môže byť použitý aj na budovanie mobilných, desktop a webových aplikácií.
Flutter zatiaľ funguje iba pre iOS a Android, ale ich dlhodobým plánom je vytvoriť platformu, na ktorej budete vedieť kódovať aplikácie pre mobil, web a desktop.
Aké sú najznámejšie aplikácie vyvinuté vďaka danej technológii?
V React Native bola vytvorená ikonická aplikácia Facebook, Instagram, Facebook Ads, Skype či Tesla. Flutter využili na vytvorenie Xianyu app by Alibaba, Hamilton app by Hamilton Musical či Google Ads.
Aké sú ich hlavné benefity a nevýhody?
React Native poskytuje predovšetkým stabilitu, nakoľko je na trhu viac ako 5 rokov. Vďaka tomu ho využíva mnoho prominentných firiem na budovanie ich aplikácií. Jedná sa o technológiu, ktorú je jednoduché sa naučiť, a poskytuje množstvo návodov a knižníc, ktoré zabezpečujú rychlý a ľahký vývoj. Kód je jednoducho použiteľný pre viacero rozhraní, či už ide o webovú alebo desktopovú aplikáciu. Benefitom je, že využíva populárny JavaScript, ktorý ovláda mnoho developerov, a taktiež v prípade React developerov – je veľmi jednoduché sa túto technológiu naučiť. React Native sa pýši masívnou developerskou komunitou. Nevýhodou v tomto prípade môže byť enormné množstvo používaných knižníc, z ktorých niektoré neposkytujú dostatočne kvalitné materiály a rovnako ako pri Flutteri – aplikácie sú väčšie ako natívne. Dobrou správou je, že React Native pracuje na redukcii veľkostí aplikácií.
Flutter vyzerá skvelo vďaka mnohým widgetom, ktoré ponúka. Jeho komunita rapídne rastie, vďaka čomu stúpa na popularite. Vďaka silnej podpore Flutter teamu, je jednoduché s ním začať pracovať. Aplikácie vytvorené pomocou Flutteru sú zvyčajne rýchlejšie ako natívne. Veľkou nevýhodou je zatiaľ pomerne malá komunita developerov, ktorí Flutter používajú, a veľkosť aplikácií, ktorá je oveľa väčšia ako pri natívnych. Môže to mať negatívny vplyv na chod aplikácie v staršom mobilnom zariadení.
Čo by sme zvolili my?
Aj napriek napredovaniu Flutteru, zatiaľ volíme predovšetkým stabilitu, čiže React Native. Zároveň je jednoduché zdieľať kódy medzi React a React Native aplikáciami, čo ako software firma považujeme za veľké plus.