Tworzenie aplikacji mobilnych we Flutterze w 2020 roku
Flutter jest jednym z naszych ulubionych frameworków cross-platformowych. Jest świetnym narzędziem do tworzenia aplikacji mobilnych i zapewnia benefity zarówno dla programistów, jak i właścicieli produktów. Ta technologia open-source oferuje wysoką wydajność oraz przydatne funkcjonalności jak opcja hot reload. Nic dziwnego, że na naszym blogu jest tyle artykułów o Flutterze.
Spis treści
- Flutter – co to jest?
- Newsy o Flutterze
- Wytwarzanie aplikacji mobilnych we Flutterze – jak zacząć?
- Czy Flutter ma jakąś konkurencję?
- O co chodzi z tym całym developmentem cross-platformowym?
- Społeczność jest wszystkim
- Wybór Fluttera w projekcie aplikacji mobilnej
- Czy Flutter jest odpowiedni do wytwarzania aplikacji mobilnych?
- Flutter – nasz główny framework cross-platformowy
Warto wspomnieć, że Flutter jest nieprzerwanie rozwijany przez swojego twórcę, czyli Google. Wiele dużych marek i innowacyjnych startupów zaufało swoim dostawcom rozwiązań mobilnych i zdecydowało, że Flutter będzie ich głównym frameworkiem dla iOS i Androida. Nieustannie toczą się dyskusje na temat rzekomej wyższości developmentu natywnego lub też cross-platformowego. My uważamy, że wybór technologii mobilnej jest uzależniony od wielu czynników – deadline’ów, wymogów projektu, budżetu i konkretnych potrzeb naszego klienta.
Z naszymi treściami dedykowanymi Flutterowi możesz dowiedzieć się więcej na temat jego zalet biznesowych i szczegółów technicznych. Często dostajemy zapytania, w których widać zainteresowanie Flutterem, ale naszym zdaniem nie zawsze jest to najlepszy wybór. Nasza rekomendacja będzie oparta na analizie projektu i celach biznesowych.
Co możesz znaleźć na naszym blogu odnośnie tworzenia aplikacji mobilnych we Flutterze? Przekonajmy się!
Flutter – co to jest?
Twórca Fluttera – Google – chciał stworzyć technologię cross-platformową, która uprości proces developmentu i pozwoli programistom budować aplikacje dla Androida i iOS z jednym kodem źródłowym, które wciąż będą przypominać produkty natywne. Ale jak właściwie działa Flutter?
Po pierwsze, jest on oparty na obiektowym języku programowania zwanym Dart. Strona wizualna aplikacji mobilnej tworzona jest przy pomocy Material Design a zmiany są wprowadzane za pomocą funkcji hot reload, która pozwala developerom zobaczyć modyfikacje w przeciągu kilku sekund. Tworzenie produktów przypominających aplikacje natywne, które działają na wielu systemach operacyjnych to cel technologii cross-platformowych, w tym Fluttera. Z tym frameworkiem jest to bezproblemowe, a rezultaty świetnie wyglądają i działają.
W itCraft tworzymy aplikacje we Flutterze dla naszych klientów, którzy chcą przyspieszyć proces wytwarzania aplikacji, ale nie chcą poświęcać jakości. Są oni jednymi z wielu firm, które także używają Fluttera – włączając w to Google, ale także Groupon, Alibaba Group, eBay, Philips i wiele innych. Sprawdź nasz artykuł poświęcony aplikacjom zbudowanym we Flutterze, by sprawdzić, kto jeszcze zdecydował się na tę technologię cross-platformową w projekcie aplikacji mobilnej.
Newsy o Flutterze
Aby być na bieżąco z Flutterem, podajemy kilka źródeł, które warto sprawdzić. Istnieje kilka miejsc dla developerów, którzy chcą dowiedzieć się więcej na temat tworzenia aplikacji cross-platformowych. Inne są zorientowane na biznes i mogą pomóc właścicielom startupów i przedsiębiorcom, którzy muszą dokonać wyboru technologii i frameworków.
Warto zacząć od oficjalnej strony Fluttera (w języku angielskim). Znajdziesz tam informacje o aktualizacjach i przydatne artykuły. Strona jest dedykowana developerom Fluttera, którzy chcą dowiedzieć się więcej na jego temat lub szukają rozwiązań problemów, które napotykają podczas kodowania.
Medium także może być pomocne, gdy szukamy treści związanych z Flutterem. Wielu programistów dzieli się wiedzą na tej platformie. Znajdziesz tam wnikliwe artykuły na temat wytwarzania aplikacji we Flutterze – na przykład ten o budowaniu wydajnych widgetów Flutterowych (w języku angielskim).
No i jest oczywiście nasz blog, gdzie regularnie udostępniamy artykuły dedykowane aplikacjom Flutterowym i ich wytwarzaniu. Zaczęliśmy od recenzji Fluttera napisanej przez jednego z naszych specjalistów od Androida. To było prawie dwa lata temu, a od tego czasu wiele rzeczy się zmieniło w świecie developmentu aplikacji mobilnych i webowych. Ciągle obserwujemy trendy w branży IT, aby mieć pewność, że budujemy nowoczesne rozwiązania.
Wytwarzanie aplikacji mobilnych we Flutterze – jak zacząć?
Jako framework stworzony przez Google, Flutter oferuje intuicyjne, proste sposoby na rozpoczęcie tworzenia aplikacji na Androida i iOS. Tłumaczymy to krok po kroku w naszym poradniku: Pierwsze kroki w tworzeniu aplikacji Flutter. To podręcznik napisany przez jednego z naszych ekspertów iOS, który pomoże każdemu devowi skonfigurować projekt i stworzyć spójny, działający kod.
Ponieważ Flutter to technologia cross-platformowa, często porównujemy go z językami natywnymi dla iOS i Androida. Chcemy przedstawić wszystkie różnice programistom i właścicielom produktów. Natywna aplikacja może się zwykle wydawać lepszym wyborem, ale nie zawsze musi tak być. Doświadczony zespół Flutterowy może zbudować aplikację mobilną, która będzie przypominać rozwiązanie natywne z wysokim poziomem wydajności i świetnym designem.
A kto może być lepszy w porównywaniu technologii natywnych i cross-platformowych od doświadczonych developerów Androida i iOS? Nasi specjaliści od Fluttera w przeszłości zwykle kodowali apki natywne. Teraz piszą także artykuły porównawcze na nasz blog – tam omawiają różnice między Flutterem a językami takimi jak Swift czy Kotlin.
Building mobile UIs – Flutter vs native Android SDK. Language and tech stack applicability and comparison – Oto post, w którym nasz doświadczony developer Androida tłumaczy, jak wygląda tworzenie aplikacji we Flutterze i w natywnym języku androidowym. Bierze pod uwagę wszystkie aspekty tworzenia aplikacji mobilnych, aby dowiedzieć się, kiedy wybór jednej bądź drugiej opcji jest bardziej sensowny.
Dart / Flutter vs Swift / Native iOS – which one is better? – Podobnej podejście, ale tym razem skupione na iOS. Analizujemy wiele czynników determinujących wybór Flutera lub natywnego języka Swift do tworzenia aplikacji na iOS. Czy pojedyncza baza kodu może być zaletą podczas tworzenia apki tylko na jeden system? Dowiedz się, czytając ten artykuł.
Czy Flutter ma jakąś konkurencję?
Istnieje wiele frameworków open-source, które pozwalają programistom kodować aplikacje mobilne na wiele systemów operacyjnych. Flutter ma silną pozycję na rynku, ale jest dość nowy w porównaniu do swojego największego konkurenta – React Native. Facebookowe rozwiązanie cross-platformowe jest doceniane, bo jest oparte o jeden z najpopularniejszych języków programowania – JavaScript. Jego pozycja na rynku jest nieco bardziej ugruntowana niż w przypadku Fluttera, ma on większą społeczność i jest łatwiejszy w nauce. Ma także funkcjonalność hot reload tak jak Flutter. Mimo to nie jest oczywiście bez wad.
W naszym artykule Flutter vs React Native – porównanie frameworków cross-platform, próbujemy ustalić, która z dwóch technologii jest lepsza, biorąc pod uwagę wiele różnych czynników ważnych w wytwarzaniu aplikacji na iOS i Androida. Odpowiedź nie jest oczywista, co zazwyczaj ma miejsce, gdy porównuje się dwa frameworki. My skupiamy się na ich wadach i zaletach, aby pokazać Ci, czego możesz się spodziewać po każdym z nich.
Oprócz React Native i Fluttera – niekwestionowanych liderów rynku w dziedzinie developmentu opartego o jedną bazę kodu – istnieją inne technologie, które można używać w tym celu. Jedną z nich jest Xamarin stworzony przez Microsoft. Nie używamy jej w itCraft, bo preferujemy stabilność Fluttera i React Native, ale to wciąż alternatywa, którą warto znać.
O co chodzi z tym całym developmentem cross-platformowym?
Dlaczego pisanie jednego kodu dla iOS i Androida stało się tak popularne? Ponieważ może zaoszczędzić mnóstwo czasu i jest nieco tańsze od tworzenia dwóch osobnych aplikacji natywnych dla każdego z systemów. Aplikacje Flutterowe mogą przypominać natywne, ale są mniej problematyczne, gdy zachodzi potrzeba aktualizacji lub poprawek – dzięki dzielonemu kodowi i funkcji hot reload. Rozumiemy jednak, że wciąż możesz mieć wątpliwości w związku z developmentem cross-platformowym. Nie martw się – mamy mnóstwo treści, w której tłumaczymy wszystkie sekrety tej metody, łącznie z sytuacjami, w których jest ona najkorzystniejsza.
Po pierwsze, polecamy artykuł, w którym objaśniamy wszystkie najpopularniejsze typy developmentu – nie tylko cross-platform i natywny, ale również hybrydowy i PWA. Ten jeden artykuł da Ci generalny ogląd na opcje, z których można wybierać podczas budowania aplikacji. Znajdziesz tam również przykłady ich użycia.
Introduction to cross-platform app development to podręcznik dla osób zainteresowanych wieloplatformowym wytwarzaniem aplikacji na iOS i Androida, które chcą poznać wszystkie podstawy. Tłumaczymy, jak to działa i porównujemy trzy główne technologie – Fluttera, React Native i Xamarin. To świetne miejsce, aby zacząć, jeśli nie znasz zalet tego rodzaju developmentu.
Oprócz pisania postów blogowych prowadzimy także webinary i tworzymy ebooki. Są pełne użytecznej wiedzy i skupiają się na tematach zbyt szerokich, aby je opisać w artykule lub serii artykułów. Stworzyliśmy kilka materiałów, w których omawiamy development cross-platformowy i Fluttera, warto więc poświęcić im trochę uwagi.
13 Things You Should Know About Cross-Platform Development – Tutaj skondensowaliśmy wiele faktów omawianych w trakcie webinaru o tym samym tytule – i dodaliśmy jeszcze kilka nowych. Nasz CEO oraz doświadczony developer Androida odpowiadają na najistotniejsze pytania dotyczące aplikacji mobilnych na wiele platform. To szczegółowy artykuł, który rozwieje wszelkie wątpliwości w kwestii Fluttera, innych technologii i ogólnego programowania cross-platformowego.
Na koniec mamy ebooka poświęconego wytarzaniu aplikacji cross-platformowych i natywnych (w wersji angielskiej). Kompleksowo omawiamy w nim kluczowe informacje, przykłady, studia przypadków naszych prawdziwych klientów i wszystko, co potrzebne, aby rozpocząć projekt aplikacji mobilnej. Nie stajemy po żadnej stronie – zamiast mówić, która technologia jest lepsza, nakreślamy sytuacje, gdy wybór jednej bądź drugiej ma większy sens. Oczywiście, rozmawiamy także o Flutterze i innych frameworkach, aby pokazać, dlaczego ich używamy i jakie zalety mogą wnieść do projektu apki.
Społeczność jest wszystkim
Jeśli chcesz wiedzieć jeszcze więcej na temat Fluttera, dotarcie do jego społeczności jest niezłym pomysłem. Ilość wspierających tę technologię stale rośnie od jej premiery w 2017 roku. Dzielą się oni swoimi opiniami na temat Fluttera, prezentują rozwiązania dla konkretnych problemów i udostępniają swój kod, aby pomóc innym devom budować jeszcze lepsze aplikacje Flutterowe.
Jak już wspomnieliśmy, Medium to doskonałe miejsce dla osób zainteresowanych tematyką IT. Zrzeszają one pasjonatów i entuzjastów, którzy Tworzą artykuły poświęcone ulubionym zagadnieniom. Społeczność Fluttera jest tam dość żywotna. Setki artykułów dedykowanych różnym aspektom Fluttera – jak development dla iOS i Androida, design, a nawet tworzenie aplikacji desktopowych – wyczerpują wszystkie tematy, których mógłby poszukiwać programista Fluttera.
Jest też GitHub – miejsce, gdzie wszyscy developerzy spotykają się, aby udostępniać swój kod i sobie pomagać. Jeśli chodzi o Fluttera, na poświęconej mu stronie GitHuba można tam znaleźć mnóstwo treści. Artykuły, tutoriale video, szablony, pluginy, książki, a nawet ogłoszenia o pracę. Jest tam lista blogów i stron poświęconych Flutterowi, komponenty pozwalające tworzyć UI design oraz instrukcje dla początkujących i zaawansowanych programistów. GitHub to miejsce, w którym każdy zespół Flutterowy powinien być – szczególnie jeśli chce się czegoś nauczyć lub rozwiązać problem związany z kodem.
It’s All Widgets to strona, którą warto odwiedzić, jeśli chcesz się dowiedzieć, jakie firmy korzystają z Fluttera w swoich aplikacjach mobilnych. To ogromna lista produktów software’owych, włączając w to aplikacje webowe – tak, dobrze czytasz. Flutter może być używany także w web developmencie, choć ta funkcja jest jeszcze w fazie rozwoju. Ta internetowa społeczność może być bardzo inspirująca – znajdziesz w niej małe startupy i bardziej prominentne firmy. Jest pełna świetnych pomysłów jak proste gry, aplikacje do organizacji życia i inne przydatne rozwiązania.
A jeśli szukasz Flutterowych widgetów i narzędzi, największa biblioteka to Flutter Awesome. Komponenty są posortowane według kategorii i typów aplikacji, aby pomóc Ci szybko znaleźć to, czego szukasz.
Jak widzisz, istnieje wiele źródeł dla developerów i fanów Fluttera. Dostarczają wiedzę i pomagają rozwiązywać najważniejsze problemy.
Wybór Fluttera w projekcie aplikacji mobilnej
Development cross-platformowy może wydawać się opcją dla firm z ograniczonym budżetem lub też dla projektów aplikacji z krótkimi deadline’ami. Nie jest to do końca prawdą. Wiele korporacji o ugruntowanej pozycji na rynku, a także duże, międzynarodowe marki zdecydowały się na Fluttera jako ich główny framework. Ich historie mogą Cię zainspirować i udowodnią, że jakość może być dostarczana niezależnie od używanej technologii. Wszystko, czego potrzebujesz to zespół wykwalifikowanych developerów.
W naszym artykule na temat popularnych aplikacji Flutterowych omawiamy firmy, które zdecydowały się zaufać Flutterowi. Na pewno znasz niektóre z nich. Jeśli zastanawiasz się, dlaczego marki takie jak Google, Philips, eBay lub Alibaba wybrały open-sourcowe narzędzie do budowania aplikacji mobilnych – te przykłady Ci to wyjaśnią.
Oczywiście twórca Fluttera używa go w wielu swoich produktach jak Stadia, Google Ads i Google Assitant. Nie tylko tworzyli oni wiodącą technologię cross-platformową. Używanie jej w ich własnych projektach aplikacji dowodzi, że Google jest pewny jej zalet i możliwości.
Kolejny przykład użycia Fluttera przez znaną markę jest eBay Motors – aplikacja pozwalająca użytkownikom eBay’a kupować i sprzedawać pojazdy. Na swoim blogu opisują cały proces poszukiwania właściwej technologii i budowania aplikacji we Flutterze. Jedną z głównych korzyści, którą docenili była znacząco mała ilość kodu dedykowanego poszczególnym platformom – tylko 1.7%. Dla Androida było to 0.3%, a dla iOS – 0.2%. To imponujący rezultat, który pozwolił eBay’owi przyspieszyć proces wytwarzania aplikacji.
Alibaba, jedna z prosperujących chińskich korporacji e-commerce, regularnie publikuje artykuły o Flutterze. Opisują w nich jak ich zespół flutterowy wykorzystuje go do budowania aplikacji mobilnych. Zrobili także film na YouTube o jednym ze swoich produktów – aplikacji Xianyu. Znajdziesz w nim opis całego procesu.
Historia, o której warto wspomnieć to ta dotycząca aplikacji Reflectly. Możesz znaleźć ich post na temat migracji z React Native do Fluttera (w języku angielskim) na Medium. Zaczęli używać Fluttera na samym początku, gdy był jeszcze w fazie alfa. Mimo to spodobały im się możliwości, które oferował i zdecydowali się dać mu szansę. Efekty były więcej niż satysfakcjonujące, a recenzje okazały się wielce pozytywne.
Małe i duże firmy budują swoje aplikacje mobilne we Flutterze. Dzielenie kodu pomiędzy Androidem i iOS, UI design podobny do natywnego oraz doskonała wydajność są zaletami, dzięki którym można dostarczyć konsumentom jeszcze lepszy produkt. A każdy właściciel biznesu chce dać swoim odbiorcom wartość, której oczekują.
Czy Flutter jest odpowiedni do wytwarzania aplikacji mobilnych?
Poza głównymi zaletami aplikacji flutterowych istnieją mniej oczywiste czynniki, o których powinniśmy wspomnieć. Oczywiście, pojedyncza baza kodu dla Androida, iOS i innych platform, funkcja hot reload pozwalająca wprowadzać szybkie aktualizacje i świetny UI design dzięki widgetom to kluczowe elementu pozwalające budować solidne aplikacje osiągające sukces w branży. Jednak chcemy omówić jeszcze kilka aspektów, które często są pomijane w artykułach o Flutterze.
Zacznijmy od Minimal Viable Product (MVP, Minimalny Opłacalny Produkt). Flutter jest wręcz idealny, jeśli chcemy zbudować wstępną wersję aplikacji w krótkim czasie. Po pierwsze, jest tańszy, bo dzięki wspólnemu kodowi pozwala testować wersję Androidową i iOS w tym samym czasie. To oznacza również, że nie potrzebujemy dużego zespołu, aby zbudować MVP – czasem jeden developer wystarczy. Minimalny Opłacalny Produkt to świetne narzędzie do testowania konceptu aplikacji, zanim zaczniemy ją rozwijać.
Jeśli chcesz dowiedzieć się więcej na temat MVP i jego wartości biznesowej – sprawdź nasz artykuł: MVP app development – Lean and agile way to develop anything. Wszystkie szczegóły odnośnie Minimum Viable Product, procesu developmentu i rezultatów są właśnie tutaj.
Fluttera uznaje się także za idealną technologię dla Agile i Scrum – głównych metodologii zarządzania projektem używanych w software house’ach dla projektów aplikacji. Funkcjonalności Fluttera oznaczają, że jest on kompatybilny z systemami pracy opartymi na wartościach należących do Agile. Flutter jest po prostu świetny, jeżeli chodzi o produktywność, szybki development aplikacji i dostarczanie fantastycznych rezultatów w sensie wizualnym i wydajnościowym. Aby zbudować aplikację flutterową, potrzebujesz tylko jednego zespołu developerów, co eliminuje opóźnienia pomiędzy dwoma składami pracującymi oddzielnie nad oprogramowaniem natywnym dla Androida i iOS. Prościej jest zarządzać zadaniami tylko dla jednego zespołu, gdzie wszyscy wiedzą, jaka jest ich rola.
Sprawdź nasz artykuł o zwinnym wytwarzaniu oprogramowania, aby dowiedzieć się, dlaczego używamy tej metodologii, jakie zalety ona oferuje i dlaczego właściciele produktów tak ją doceniają. W innym poście na blogu analizujemy także Manifest Agile i jego 12 zasad, aby pomóc Ci lepiej zrozumieć jego główne zasady i założenia.
Flutter – nasz główny framework cross-platformowy
W itCraft bardzo doceniamy Fluttera. Jest on naszą najważniejszą technologią podczas budowania multi-platformowych aplikacji na Androida i iOS. Lubimy go za wiele rzeczy – piękny, lecz prosty UI design oparty na widgetach, prostotę jeśli chodzi o naukę programowania, szybką kompilację i wnikliwą dokumentację. Uważamy, że jest to efektywny framework dla startupów chcących szybko wypuścić produkt na rynek oraz dla prosperujących przedsiębiorstw potrzebujących czegoś bardziej zaawansowanego, ale chcących rozsądnie operować budżetem. Oczywiście Flutter ma swoje wady, jednak jest to jedna z czołowych technologii wytwarzania aplikacji uwielbiana przez branżę IT.
Jeśli sprawdzisz naszą zakładkę Usługi, gdzie omawiamy development aplikacji we Flutterze, znajdziesz odpowiedzi na najbardziej palące pytania. Prezentujemy tam nasz proces ze wszystkimi aspektami biznesowymi i technicznymi – jak zatrudnianie developerów Fluttera, zapewnienie jakości z testami, UX i UI design i wiele innych.
Niektórzy ludzie uważają, że budowanie aplikacji flutterowych jest 50% tańsze niż w przypadku oprogramowania natywnego. Nie jest to prawda. Wyjaśniamy to w sekcji FAQ:
“Mimo że jest możliwość zaoszczędzenia 50% na kosztach stworzenia front-endu, wciąż musisz wziąć pod uwagę resztę zespołu – PMów, inżynierów QA, UX designerów i programistów back-endu.”
Pamiętaj, że istnienie tylko jednej bazy kodu dla Twojej aplikacji na iOS i Androida nie oznacza, że zapłacisz tylko połowę ceny. Wyjaśniamy to na naszym blogu i w zakładce Cennik na naszej stronie. Różne czynniki wpływają na koszt stworzenia aplikacji. Ten artykuł: Ile kosztuje stworzenie aplikacji mobilnej w 2020 roku? prezentuje informacje i fakty, które pomogą Ci zrozumieć, jak wymogi w projekcie mogą zmienić finalny budżet, którego będziesz potrzebować.
19 aplikacji stworzonych we Flutterze
Pierwsze kroki w tworzeniu aplikacji Flutter
Teraz wiesz wszystko, czego potrzebujesz na temat Fluttera i strony biznesowej developmentu aplikacji. Wybór odpowiedniego języka i frameworku to jedno, ale inne czynniki, które warto wziąć pod uwagę, często są bardziej istotne. Jeśli współpracujesz z doświadczonym software housem posiadającym zespół specjalistów na pokładzie, nie musisz się martwić. W itCraft zawsze rekomendujemy technologię dopasowaną do projektu, aby dostarczać spektakularne rezultaty.