V predošlom článku sme sa zamerali na základné vlastnosti platformy Flutter z dielne Google, na ktorej veľmi radi vyvíjame inovatívne aplikácie. Spolu s React Native, ako ďalším riešením na vývoj hybridných cross-platform aplikácií, patrí Flutter medzi najväčších hráčov na trhu.
Podľa čoho vybrať ten správny framework pre novú aplikáciu? Keďže máme skúsenosti s oboma spomenutými platformami, v nasledujúcich riadkoch sa zameriame na základné vlastnosti a porovnanie Flutter vs. React Native.
Obe platformy poskytujú svojim používateľom budovanie aplikácie na jednotnom kóde pre rôzne operačné systémy. Čo to znamená? Developeri nemusia pri vývoji a odstraňovaní chýb aplikácie prepisovať kódy na iOS a Android samostatne, čo citeľne skráti trvanie celého projektu. Menej času a námahy developerov ocení najmä product owner (majiteľ produktu), keďže to má priamy dopad na jeho rozpočet a náklady.
React Native z dielne Facebooku si svoju pozíciu na trhu buduje už od roku 2015. Medzi najznámejšie voľne dostupné aplikácie postavené na tomto riešení patria napríklad Instagram, Pinterest či Skype.
Google nenechal nič na náhodu a v roku 2018 predstavil svoj framework Flutter. Jeho atraktivita začína výrazne stúpať najmä v posledných rokoch a medzi najviac používané aplikácie vyvinuté s Flutterom patrí Google Ads alebo alibaba.com.
Developer, ktorý ovláda JavaScript, vyvinie novú aplikáciu ľavou zadnou, pretože React Native je postavený práve na tomto jazyku.
Flutter prináša okrem iných „vychytávok“ aj nový programovací jazyk Dart. Developer, ktorý má skúsenosti s Javou alebo JavaScriptom, nebude mať žiadny problém naučiť sa Dart a naprogramovať appku vo Flutteri. Tento programovací jazyk je síce na trhu nový, má však veľmi veľa základných znakov s jazykmi, ktoré sú v developerskom prostredí „zabehnuté“ a jeho komunita rýchlo rastie. Medzi najnovšie aktualizácie jazyka patrí napr. null-safety.
Flutter developerom ponúka množstvo zaujímavých UI widgetov (elementov používateľského rozhrania), ktoré sú vytvorené na základe Material Design od Google, resp. Cupertino od Apple. Výhodou Flutteru je, že ponúka použitie oboch dizajnových prvkov na zariadeniach s Androidom aj s iOS. Všetky Flutter widgety sú preddefinované a je možné ich jednoducho použiť a prispôsobiť svojim potrebám.
V React Native máte k dispozícii oveľa menej widgetov, ktoré sú navyše primárne cielené na každú platformu iOS či Android zvlášť. Vo veľa prípadoch je tak potrebné siahnuť po knižniciach tretích strán.
Oba frameworky sú vhodné na vývoj bežných obchodných aplikácií s animáciami a vlastným zaujímavým vzhľadom.
React Native nie je vhodnou voľbou v prípade, ak máte v pláne navrhnúť aplikáciu, ktorá sa spolieha na zložitejšie výpočty, resp. animácie, čo spôsobí väčšie vyťaženie CPU. Na druhej strane sa nebojíme tvrdiť, že Flutter so svojimi funkciami zvládne aj takéto náročnejšie úlohy.
Flutter je vhodným nástrojom aj pre tých, ktorí majú na začiatok podnikania obmedzený rozpočet, no vysoké ciele. S Flutterom je možné vytvoriť nielen aplikácie pre mobilné zariadenia, ale navyše aj webové a desktopové prostredie, ktoré bude na všetkých zariadeniach rôznych veľkostí vyzerať bezchybne.
Flutter | React Native | |
---|---|---|
Maintainer | ||
Programovací jazyk | ||
Officiálny release | December 2018, Google I/O | March 2015, F8 Conference |
Aktuálna verzia | 2.2.3 | 0.65 |
Popularita na GitHub (august 2021) |
128k⭐ / 3,6k👁️ | 97k⭐ / 3,7k👁️ |
Package manager | pub.dev | npm |
Platformy | iOS, Android, web Windows, macOS a Linux (beta) Android TV, Android Auto Toyota Auto |
iOS a Android *niektoré časti kódu aj na webe a pre Windows 10 |
Známe aplikácie | Google Ads, Google Pay, Philips Hue, Xianyu (Alibaba) |
Instagram, Facebook, Facebook Ads, Skype, Tesla |
Oba frameworky majú svoje plusy aj mínusy. Výber vhodnej technológie na konkrétny projekt je potrebné posudzovať v závislosti od typu a účelu aplikácie, znalostí a schopností tímu, zložitosti plánovaných animácií, a v neposlednom rade aj s prihliadnutím na celkový rozpočet klienta.
U nás vo freevision, spomedzi dvoch spomínaných technológií na vývoj mobilných aplikácií, preferujeme Flutter pred React Native.
Flutter alebo React Native? Prípadne iný framework? Ak rozmýšľate nad vývojom novej užitočnej appky, avšak neviete sa rozhodnúť, ktorú platformu na jej tvorbu použiť, kontaktujte nás. Vhodný výber záleží od viacerých faktorov.
Počas bezplatnej konzultácie na vývoj appky si nápad radi vypočujeme, poskytneme náš pohľad na vec a vysvetlíme všetky technické možnosti, ktoré máte k dispozícii, spolu s ich rizikami a úrovňou náročnosti.