Blog

Späť na všetky články

Porovnanie platforiem na vývoj aplikácií: Flutter vs. React Native

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.

Cross-platform riešenia

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.

Veľké mená v pozadí

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.

Podobný programovací jazyk

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.

Pôvodné widgety vs. widgety od tretích strán

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.

Vyťaženie CPU spraví rozdiel

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.

Obmedzený rozpočet?

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 Google Facebook
Programovací jazykDart LogoJavaScript Logo
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

Porovnanie Flutter vs. React Native: Víťaz neexistuje

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.

Využite našu bezplatnú konzultáciu

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.

Autor článku: Matej Hlatký

Ahmed Al Hafoudh

Plánujete aplikáciu?