Flutter to technologia, która od jakiegoś czasu jest szeroko omawiana przez większość software house’ów. Framework od Google’a zdobył ogromną popularność wśród programistów, ale także wśród startupów i właścicieli firm. Nie każdy jednak wie, dlaczego jest on taki popularny, ani co jest w nim takiego interesującego. Tymczasem warto poznać go lepiej, gdyż jest to naprawdę świetne narzędzie do tworzenia aplikacji mobilnych.
Przyjrzyjmy się lepiej temu, co może nam zaoferować Flutter, który jeszcze do niedawna był techniczną nowinką.
Cross-platform, czyli wszystko w jednym
Flutter został pokazany światu w 2018, co w świecie IT czyni go zaledwie noworodkiem. Stworzono go jako uniwersalny framework cross-platformowy oparty o całkowicie nowy język programowania zwany Dart. Był to dość innowacyjny pomysł, gdyż inne wieloplatformowe technologie jak React Natvie czy Xamarin opierają się na już istniejących językach.
Istotne jest jednak to, czym właściwie jest cross-platform. To sposób na to, aby dostarczać aplikacje mobilne (i nie tylko) na wiele systemów operacyjnych bez konieczności pisania każdej wersji osobno. Cytując fragment artykułu, w którym porównujemy różne metody kodowania: “Aplikacje cross-platformowe używają elementów natywnych, aby dostarczać użytkownikom świetne wrażenia, nieważne, z jakiego urządzenia korzystają.”
Ich przeciwieństwem są właśnie aplikacje natywne, gdzie mamy do czynienia z językami i frameworkami, które mogą działać jedynie na dedykowanej platformie. Dla przykładu Swift to język do tworzenia aplikacji na iOS, a Kotlin – na Androida. Z Flutterem i innymi cross-platformowymi technologiami, piszemy kod raz i używamy go w różnych środowiskach.
Jest to o tyle istotne, że w takim projekcie potrzebni są tylko developerzy znający Fluttera. Tworzy się więc jeden zespół. W przypadku rozwiązań natywnych musimy mieć osoby odpowiedzialne za Androida i iOS. Łatwo się domyślić, że generuje to wyższe koszty, a ponadto może mieć przełożenie na czas projektu, gdyż kodowanie na dwie różne platformy nie jest symultaniczne i może powodować różne trudności. Gdy jeden zespół skończy pracę, a inny nadal rozwiązuje problemy, pojawiają się opóźnienia.
Dlaczego bycie obecnym na różnych platformach jest istotne?
Mogłoby się wydawać, że tworzenie aplikacji od razu na dwie platformy mobilne nie ma żadnego uzasadnienia. Wiele firm wypuszczało swoje produkty najpierw na iOS, a potem na Androida. Sporo jednak się zmieniło przez ostatnie lata. Android stał się najczęściej używanym smartfonowym systemem operacyjnym na świecie. iOS nadal ma dość mocną pozycję. Pomijając którąś z platform i każąc jej czekać, pozbawiamy się sporej rzeszy potencjalnych klientów, a przecież pierwsze tygodnie po premierze często bywają kluczowe w zdobywaniu popularności na rynku.
Ten problem można rozwiązać, inwestując od razu w dwa natywne produkty, jednak niesie to ze sobą kilka niedogodności. Po pierwsze, wspomniane już wyżej koszty i czas oczekiwania. Po drugie, nie każdy produkt musi być natywny – wybór technologii zależy od rodzaju funkcjonalności, które mają być częścią aplikacji mobilnej. Czasem po prostu nie ma sensu inwestować więcej, skoro możemy osiągnąć podobny efekt korzystając z programowania cross-platformowego. Tutaj Flutter będzie świetnym wyborem, gdyż ma sporo zalet i pozwala szybko wytwarzać wysokiej jakości produkty cyfrowe.
Warto również wspomnieć, że Flutter często jest wykorzystywany w budowaniu MVP, czyli minimalnej wersji produktu mającej sprawdzić, czy nasza koncepcja jest opłacalna. Frameworki wieloplatformowe dużo lepiej się w tym przypadku sprawdzają, gdyż można w szybki sposób stworzyć podstawową aplikację, która zostanie później przetestowana na wszystkich docelowych platformach.
Techniczna strona Fluttera
Wiesz już, dlaczego Flutter jest świetną technologią od strony biznesowej. Niesie on szereg korzyści dla firm, które chcą wykorzystywać budżet w efektywny sposób, a jednocześnie oferować swoim klientom aplikację mobilną na światowym poziomie. Przyjrzyjmy się jednak zaletom, które wynikają z samej konstrukcji tego frameworka. To one są przyczyną, dla której programiści również pokochali Fluttera i to dzięki nim można tworzyć naprawdę świetne produkty cyfrowe doceniane przez startupy i duże przedsiębiorstwa.
Jedną z najważniejszych zalet Fluttera jest sposób, w jaki buduje się w nim interfejs użytkownika. Wszystko oparte jest na widgetach, czyli komponentach, które można ze sobą zestawiać i łączyć w taki sposób, aby uzyskać pożądany efekt. Sposób budowania UI we Flutterze jest intuicyjny, a dzięki ogromnej ilości różnych widgetów, możemy osiągnąć rezultaty podobne do oprogramowania natywnego.
Kolejną szeroko docenianą cechą Fluttera jest funkcjonalność, którą opisujemy w artykule poświęconemu porównaniu Darta (języka programowania będącego podstawą Fluttera) i Swifta, natywnej technologii iOS. “Dart posiada funkcję hot reload, co pozwala zobaczyć zmiany w aplikacji w przeciągu kilku sekund.” – to najkrótszy i najbardziej trafny opis owej cechy Fluttera. Dzięki hot reload wszystkie poprawki w kodzie są widoczne w przeciągu chwili, a to znacznie przyspiesza pracę i pozwala aktualizować aplikację bez przeszkód.
Ponadto, Flutter posiada świetną, obszerną dokumentację i ogromne wsparcie społeczności programistów oraz swojego twórcy – Google. Aplikacje cross-platformowe zbudowane przy pomocy tej technologii zaskakują swoją wydajnością. To niekwestionowany lider na rynku rozwiązań cross-platformowych, który mimo swojej krótkiej historii, zdążył już przegonić znany framework od Facebooka – React Native.
Podsumowując
Flutter to innowacyjny framework cross-platformowy, który jest na rynku od niedawna, a już zaufali mu giganci tacy jak Alibaba Group, eBay, Tencent, Philips czy New York Times. To kolejny dowód na to, że jest to technologia warta uwagi. Tysiące aplikacji mobilnych dostępnych w Google Play i Apple App Store to wieloplatformowe produkty cyfrowe, które świetnie działają i wyglądają właśnie dzięki Flutterowi.
To zdecydowanie technologia, której warto poświęcić więcej uwagi. Mimo swojej krótkiej historii Flutter już podbił rynek rozwiązań wieloplatformowych i aplikacji mobilnych w ogóle. Z pewnością Google pokaże jeszcze niejedno w związku ze swoim dziełem – głównie ze względu na to, że niedawno miała premierę druga wersja Fluttera, która umożliwia również tworzenie aplikacji webowych i desktopowych. Możliwości, które daje framework są naprawdę uniwersalne i z pewnością jest to jeden z najważniejszych kandydatów jeżeli chodzi o wiodące technologie na nadchodzące lata.