Dlaczego warto tworzyć aplikacje we Flutterze?

Okej, przyznajemy, że tytuł jest tendencyjny. Ale po przeczytaniu tego artykułu sami stwierdzicie, że pytanie „dlaczego warto”, a nie „czy warto”, to jedyne słuszne pytanie! Znajdziecie tutaj nie tylko argumenty, ale też przedstawienie technologii i kilka słów o mało znanym języku Dart.

Co to jest Flutter?

Pierwszy raz o Flutterze można było usłyszeć w 2015 roku, kiedy to Google podczas jednej z konferencji zapowiedziało stworzenie zestawu narzędzi dla programistów, który umożliwiałby tworzenie aplikacji mobilnych dla systemu Android. Choć wtedy jeszcze nie mówiono stricte o Flutterze, bo początkowo nowy pomysł koncernu miał nosić nazwę Sky. Wersja Alpha (0.0.6) ukazała się dwa lata później w maju, a do użytku powszechnego Flutter wszedł pod koniec 2018 roku.

Projekt zaczął rozwijać się bardzo szybko dzięki pracownikom Google i działaniom niezależnych programistów. W 2021 roku wydano drugą wersję SDK (ang. Software Development Kit), dzięki któremu programiści mogą pisać aplikacje nie tylko na Androida i iOS, ale także aplikacje webowe i desktopowe. We Flutterze wykorzystuje się wciąż mało popularny język programowania Dart, zaprezentowany przez Google w 2011 roku. Uwaga dla programistów, którzy nigdy nie mieli z nim styczności: jeśli znasz Kotlin lub JavaScript nauka Darta nie powinna sprawić większych problemów.

Do czego go porównujemy, czyli aplikacje natywne i inne aplikacje hybrydowe

Żeby wykazać przewagę Fluttera, musimy najpierw wyjaśnić, od czego ma być lepszy. Po pierwsze: aplikacje natywne, czyli takie zorientowane na konkretną platformę – Android lub iOS. Różni się to wykorzystywanym do pisania językiem. W przypadku Androida będzie to Java lub Kotlin, a dla iOS używa się opracowanego przez Apple Swift / Objective-C. W obu przypadkach istnieją dedykowane narzędzia programistyczne. Są one niezawodne, tylko, w momencie, gdy klient potrzebuje aplikacji i na Androida, i na iOS, dla programisty oznacza to pisanie dwóch osobnych aplikacji od A do Z.

Drugie nasze odniesienie to aplikacje hybrydowe, które są tworzone jednocześnie na kilka systemów i łączą w sobie rozwiązania natywne i webowe. Oznacza to, że „szkielet” aplikacji jest taki sam, a do niego dopisuje się tylko konkretne „fragmenty” dedykowane określonej platformie. Wśród innych frameworków do tworzenia hybrydowych aplikacji mobilnych, obok Fluttera, można wymienić np. React Native i Ionic.

A teraz korzyści:

Skoro już wiemy, co porównujemy i do czego, odpowiedzmy na pytanie z tytułu. Nie możemy nie napomknąć na początku (jeszcze raz, bo to ważne!), że Flutter to projekt open source, a więc rozwijany nie tylko przez firmę, ale i przez niezależnych programistów. To pozwoliło mu w cztery lata od publikacji wyjść na miejsce lidera wśród podobnych aplikacji. Praca we Flutterze to też duża oszczędność dla klienta – oszczędność i czasu, i pieniędzy. „Nie jest to oszczędność tylko na pierwszym kroku, kiedy tworzymy pierwszą wersję aplikacji, ale też na każdym kolejnym, kiedy rozbudowujemy tę aplikację czy ją poprawiamy” – dodaje Rafał, nasz CTO. Ale po kolei.

Elastyczność

To, że we Flutterze aplikacje są tworzone hybrydowo, już sprawia, że deklasuje wszystkie technologie natywne. Nie można powiedzieć, że dzięki temu programista ma dwa razy mniej pracy, bo jednak oprócz wspólnego „szkieletu”, programista w zależności od case’u, będzie musiał dodać dodatkowe konfiguracje lub dopisać dwie osobne części do obu systemów. Nadal jednak taki zabieg znacznie przyspiesza proces tworzenia aplikacji i w zależności od projektu, obniża koszty o 30, a nawet 50%.

Wydajność

Tak, wspominaliśmy o React Native i Ionic. Tak, też pozwalają na tworzenie aplikacji hybrydowych. Od Fluttera różnią się jednak wydajnością. A raczej brakiem tej wydajności (przynajmniej w przypadku Ionica, React Native jest całkiem wydajny, jednak nie tak samo, jak Flutter). Bylibyśmy niesprawiedliwi, mówiąc, że nie nadają się do niczego – przy prostych aplikacjach będą działały bez zarzutu, jednak schody mogą się zacząć, gdy w grze pojawią się bardziej skomplikowane operacje.

Teoria teorią, ale oddajmy głos naszemu praktykowi: „Zdarzyło nam się raz, że przepisywaliśmy aplikację z jednej aplikacji hybrydowej na Fluttera, bo w środku znajdował się skomplikowany wykres, który trzeba było w zasadzie narysować samemu, i ta aplikacja pseudohybrydowa nie dawała sobie rady – czas ładowania był za długi i użytkownicy skarżyli się, że wszystko działa bardzo topornie. Po przepisaniu we Flutterze wszystko działało od razu szybko i płynnie”. Punkt dla Fluttera.

Szybka weryfikacja kodu

Kolejna zaleta to funkcja Hot Reload, która pozwala na wprowadzanie zmian w momencie, gdy aplikacja jest włączona. Oznacza to, że zmiana będzie widoczna od razu, bez konieczności wyłączania i uruchamiania aplikacji od nowa. Wyobraźcie sobie, że chcecie przetestować widok w różnych konfiguracjach i za każdym razem musicie od nowa włączać aplikację. Katorga. Flutter pokazuje zmiany od razu, dzięki czemu też skraca czas pracy. Funkcja Hot Reload często przydaje się również podczas rozmów z grafikiem.

Łączenie komponentów technologii natywnych

To punkt głównie dla osób, które trochę znajdą się na technologii. Flutter umożliwia korzystanie jednocześnie z własnych komponentów i tych stworzonych specjalnie dla Androida i dla iOS. Dlatego też wybranie Fluttera nie oznacza, że możliwości zostają zamknięte jedynie w bibliotece oferowanej przez Google. Elastyczność tego frameworku sprawia, że jeśli okaże się, że potrzebujemy zrobić coś w technologii natywnej, Flutter nie będzie nakładał żadnych blokad czy ograniczeń.

Możliwość konwertowania na aplikacje webowe i desktopowe

Last but not least… Możliwość przeniesienia aplikacji mobilnej na wersję webową i desktopową to nie jest funkcja, którą charakteryzuje się tylko Flutter, jednak warto podkreślić, że również nią dysponuje. To ponownie duża oszczędność dla klienta, bo nie trzeba będzie pisać zupełnie nowej, osobnej aplikacji – można wykorzystać jedną, tę samą warstwę logiczną, której używamy we wszystkich wersjach.

Podobnie jak w przypadku punktu o aplikacjach dla Androida i iOS-a nie oznacza to, że aplikacja zostanie przeniesiona jeden do jednego. Dlaczego? Choćby ze względu na sam wygląd – w końcu przeglądarki otwierane są zazwyczaj na dużych ekranach, więc trzeba będzie odpowiednio dostosować interfejs. Nadal jednak „szkielet” pozostaje ten sam, dzięki czemu koszty wytworzenia i przeniesienia aplikacji mobilnej na aplikację webową czy desktopową są dużo niższe, zwłaszcza jeśli nie mają one żadnych dodatkowych funkcji.

Więc… dlaczego wybieramy Fluttera?

Sami zajmujemy się Flutterem, odkąd w ogóle pojawił się na rynku. Na koncie mamy już kilkadziesiąt aplikacji napisanych przy pomocy tego SDK i przy każdym projekcie Flutter sprawdzał się doskonale. Czy możemy zatem z czystym sercem polecać go klientom? Bez zastanowienia!

Zresztą i klientom, i kolegom po fachu. Dla klientów to przede wszystkim rozwiązanie oszczędne i szybkie z jednoczesnym zachowaniem wysokiej jakości. Dodatkowo, dzięki współpracy z komponentami obu technologii natywnych Flutter oferuje szeroki wachlarz różnych rozwiązań, więc klient dostanie dokładnie taki produkt, jaki sobie zażyczy, bez żadnych ograniczeń od strony technologicznej.

Flutterem powinni zainteresować się też programiści od tych z wieloletnim doświadczeniem, po tych, którzy dopiero stawiają pierwsze kroki w branży. Opanowanie Fluttera nie powinno być problemem dla nikogo, kto ma jakiekolwiek doświadczenie z innymi językami i technologiami. Oprócz tego jest bezpłatny, więc bez problemu dostępny nawet dla początkujących freelancerów.

Flutter to wdzięczne narzędzie nie tylko dla klientów i ich budżetów, ale i dla programistów, bo praca z tym zestawem narzędzi jest naprawdę przyjemna, a jednocześnie pozwala na uzyskanie atrakcyjnego i sprawnie działającego efektu. I… mówiliśmy, że po przeczytaniu artykułu sami się z nami zgodzicie?

This site is registered on wpml.org as a development site.