Z tego artykułu dowiesz się czym jest technologia Flutter i jak ją wykorzystać aby Twoja aplikacja mobilna była tania w produkcji.

Trendy

Od pewnego czasu dla wielu rodzajów biznesów coraz bardziej korzystne staje się tworzenie aplikacji wieloplatformowych, gdyż rozwiązania natywne zazwyczaj są droższe w tworzeniu i utrzymaniu. Wynika to głównie z tego, że muszą być one pisane w językach specyficznych dla każdej platformy (ObjectiveC, Swift dla iOS, Kotlin, Java dla Androida), co powoduje konieczność zbudowania zespołu o szerszych kompetencjach oraz wydłuża czas powstawania aplikacji. Dodatkowo każda z platform posiada komponenty w specyficznym dla niej stylu wizualnym, więc jeśli występuje potrzeba ujednolicenia ich, konieczne jest wykonanie podobnej pracy dla obydwu platform.

Między innymi z wyżej wymienionych powodów coraz popularniejsze stają się rozwiązania wieloplatformowe, czego dowodem jest wykres trendów na Stack Overflow, popularnej platformie dla programistów.

https://insights.stackoverflow.com/trends?tags=flutter%2Creact-native%2Cswift%2Ckotlin

Jak widać na wykresie powyżej, na przestrzeni ostatnich lat coraz bardziej popularna staje się technologia Flutter (obecnie prześcigająca już bezpośrednią konkurencję – React Native). Fakt wspierania i rozwijania jej przez Google gwarantuje, że nie będzie to tylko chwilowy trend, ale stała tendencja.

Co to Flutter?

Jak podają twórcy, Flutter to zestaw narzędzi UI od Google’a do tworzenia pięknych, natywnie skompilowanych aplikacji między innymi na urządzenia mobilne oparte o wspólny dla wszystkich platform kod. Warto też zwrócić uwagę na dość niską barierę wejścia w nową technologię dla osób mających kiedykolwiek kontakt z tworzeniem aplikacji internetowych, gdyż sposób dostosowywania wizualnego aplikacji jest bliźniaczo podobny do stylowania elementów stron HTML. Na łatwość korzystania z technologii wpływa też niezliczona ilość widgetów dostarczonych przez twórców, a możliwość szybkiego podglądania efektów zmian wprowadzonych w kodzie dzięki tzw. „hot reloadingowi” znacząco ułatwia i przyśpiesza pracę.

Porównanie kosztów produkcji aplikacji natywnych i aplikacji z wykorzystaniem Fluttera

Według szacunków The Humans opartych na doświadczeniu czas produkcji aplikacji we Flutterze w stosunku do aplikacji natywnych jest niższy o 15-55%, w zależności od skomplikowania interfejsu użytkownika oraz zakresu funkcjonalności. Dodatkowo trzeba również pamiętać o większych kosztach utrzymania aplikacji natywnych ze względu na obecność dwóch osobnych repozytoriów kodu, co za tym idzie identyfikowania problemów i ich naprawy w każdej z wersji aplikacji z osobna. Nie bez wpływu na zwiększenie kosztów jest też konieczność zbudowania zespołu o szerszych kompetencjach (co najczęściej przekłada się na zwiększenie jego liczebności). Flutter to bez wątpienia tania aplikacja mobilna.

Porównanie wydajności aplikacji natywnych i aplikacji zbudowanych za pomocą Fluttera

Na stronie Fluttera jego twórcy sprytnie chwalą się hasłem: „natywna wydajność”. Jest to o tyle uzasadnione, że kod Fluttera rzeczywiście kompiluje się do natywnego kodu maszynowego, ale jak wynika z testów obliczeniowych, najczęściej osiąga gorsze rezultaty niż aplikacje natywne. W porównaniu jednak z bezpośrednią konkurencją prezentuje się zdecydowanie lepiej.

WYKRES FLUTTER
CPU-intensive test (Borwein algorithm) for iOS /
https://medium.com/swlh/flutter-vs-native-vs-react-native-examining-performance-31338f081980

Dla jakiego typu aplikacji Flutter?

Ze względu na szybkość tworzenia rozwiązań we Flutterze, można go bez wątpienia wykorzystywać do szybkiego prototypowania lub budowania MVP aplikacji. Jednak bez dwóch zdań nie są to jego jedyne zastosowania i z pewnością sprawdzi się on też przy budowaniu kompletnych produkcyjnych rozwiązań, o czym świadczą takie projekty jak: Alibaba czy eBay Motors. Jeśli jesteście zainteresowani innymi znanymi projektami stworzonymi za pomocą Fluttera, zapraszamy tutaj.