Flutter


Tworzymy aplikacje mobilne od razu w dwóch wersjach: na Android i na iOS, wykorzystując jeden wspólny kod. Dzięki nam Twoja aplikacja nie tylko będzie pięknie wyglądać, ale również będzie szybko i sprawnie działać.

Najważniejsze cechy technologii Flutter

czas

Szybki rozwój

Flutter pozwala na szybkie tworzenie i rozwijanie aplikacji. Dzięki bogatemu zestawowi w pełni konfigurowalnych widżetów Flutter umożliwia bardzo szybkie tworzenie natywnych interfejsów.

wymiana danych

Ekspresyjny i elastyczny UI

W technologii Flutter mamy do czynienia z bardzo ekspresyjnym i elastycznym interfejsem użytkownika, poprawiającym szybkość renderowania.

aplikacja mobilna

Natywność

W rzeczywistości Flutter tworzy natywne aplikacje, a jego kod jest kompilowany do natywnego kodu odpowiedniej platformy.


Zakres prac

Wykorzystując technologię Flutter nasz zespół programistyczny zbuduje dla Ciebie piękną aplikację mobilną działająca na systemach Android i iOS, wykorzystując wspólną bazę kodu. Dzięki temu nie tylko szybciej otrzymasz MVP swojego produktu czy nawet docelowe rozwiązanie, ale również zaoszczędzisz na późniejszym rozwoju i utrzymaniu.

iPhone

Nasi Klienci

I appreciate the ImpiCode commitment, friendly attitude and excellent understanding of our needs. They are not only great partners but also experienced developers. I want to highlight that ImpiCode has done a great job.

Daniel Teboul
President Cryptone Agency
Aplikacja mobilna EtnoStoria dla Fundacja ARTS
Aplikacja mobilna EtnoStoria została stworzona do dokumentowania, digitalizowania i archiwizowania interesujących obiektów, miejsc i wydarzeń kulturalnych.

Aplikacja została zrealizowana w technologii React Native. Dla klienta opublikowaliśmy ją w sklepie Google PlayApp Store.

Backend aplikacji również został stworzony w języku JavaScript, przy użyciu technologii Node.js.
Case study
Aplikacja mobilna "Po Amputacji" dla Fundacja Moc Pomocy
Aplikacja "Po Amputacji" ułatwia życie osobom po zabiegu amputacji, dostarczając m.in. materiały dotyczące rehabilitacji.

Aplikacja mobilna została stworzona w React Native,, co umożliwia użytkownikom korzystanie z niej zarówno na systemie Android, jak i iOS. Aby poprawić komunikację, zintegrowaliśmy ją z serwerem mailowym przy użyciu Mail API.

Backend aplikacji został zrealizowany w technologii AWS, w tym z użyciem DynamoDB Lambda (w języku Python).
Case study

Czym jest Flutter?

Flutter jest frameworkiem umożliwiającym tworzenie aplikacji mobilnych na urządzenia z systemem Android i iOS. Dzięki Flutterowi dwie wersje aplikacji powstają w tym samym czasie. Tworząc aplikacje w tej technologii pisze się w języku programowania Dart.

Warto podkreślić, że aplikacje powstałe we Flutterze charakteryzują się wydajnością podobną do rozwiązań natywnych, ponieważ w rzeczywistości aplikacje powstałe we Flutterze są natywne. Technologia Flutter umożliwia napisanie części kodu w innym języku programowania, np. w Kotlinie lub Swifcie, dzięki czemu do aplikacji można dodać dodatkowe funkcje i elementy charakterystyczne dla danej platformy (Android lub iOS).

Mimo iż Flutter jest stosunkowo nowym narzędziem, to już zyskał szerokie grono zwolenników. Flutter należy do 11 najpopularniejszych technologii wśród projektów deponowanych na GitHubie. Dodatkowo każdego roku powstaje coraz więcej aplikacji zbudowanych z użyciem tego narzędzia. Jednym z najbardziej godnych uwagi przykładów jest aplikacja Xianyu stworzona przez zespół programistów firmy Alibaba. Obecnie z aplikacji korzysta ponad 50 milionów ludzi.


Architektura Fluttera

Cała architektura Fluttera opiera się o widżety. Twórcy technologii umożliwili programistom zbudowanie całego interfejsu użytkownika, budując tzw. drzewko widżetów. Aplikacja jest głównym widżetem obrazującym pień drzewa, a poszczególne ekrany są pierwszymi rozgałęzieniami. Każdy widżet określa między innymi element strukturalny (taki jak przycisk lub menu), element stylistyczny (czcionka, kolor) i układ. Warto zaznaczyć, że programiści nie korzystają z widżetów OEM, lecz z gotowych widżetów wyglądających tak samo jak ich natywne odpowiedniki. Flutter umożliwia również tworzenie własnych widżetów.

Dodatkowo Flutter SDK zawiera gotowy zestaw narzędzi odpowiedzialnych za kompilację kodu do natywnych aplikacji platform docelowych. Warto podkreślić, że Flutter posiada własny silnik umożliwiający kontrolowanie wyglądu całego ekranu i renderujący każdy piksel. Dzięki silnikowi i widżetom programista ma pełną kontrolę nad wyglądem interfejsu użytkownika.


Unikatowość Fluttera

Główną cechą charakterystyczną Fluttera jest korzystanie z pakietu własnych widżetów. W odróżnieniu od innych frameworków przeznaczonych do tworzenia aplikacji, Flutter nie używa WebView ani widżetów OEM. Zamiast tego Flutter rysuje widżety przy pomocy własnego, wydajnego silnika renderującego. Warto podkreślić, że niewielka część Fluttera została stworzona w języku C i C++. Większa część technologii powstała w Darcie, który jest nowoczesnym, zwięzłym językiem programowania. Dzięki temu programiści bardzo łatwo mogą modyfikować różne składniki systemu takie jak widżety i kompozycje.


Historia powstania

Flutter został stworzony przez programistów Google, a jego początki datuje się na 2015 r. To właśnie w 2015 r. framework został oficjalnie zaprezentowany na konferencji przeznaczonej dla programistów kodujących w języku Dart. Pierwsza wersja Fluttera nosiła nazwę kodową “Sky” i działała jedynie na systemie operacyjnym Android.

W grudniu 2018 r. na wydarzeniu Flutter Live wypuszczono wersję 1.0 technologii, która była pierwszą stabilną wersją, umożliwiającą kompilowanie natywnych aplikacji Android i iOS z jednego kodu. Od tego momentu systematycznie pojawiają się nowe wersje technologii wprowadzające nowe widżety i usprawniające działanie frameworka.


Obszar zastosowania

Technologię Flutter można wykorzystać do budowy niemal każdej aplikacji mobilnej. Fluttera wykorzystuje się między innymi do budowy rozwiązań z takich obszarów jak:

  • życie społeczne - portale społecznościowe, aplikacje randkowe, aplikacje organizujące wspólne aktywności nieznajomych np. mecz siatkówki,
  • fotografia - edycja zdjęć,
  • zdrowie - aplikacje mierzące ilość wypitej wody, spożytego jedzenia i zrzuconych kalorii, aplikacje umożliwiające kontakt pacjentów z lekarzami,
  • e-commerce - aplikacje sklepów internetowych,
  • muzyka - aplikacje do ściągania i słuchania muzyki, aplikacje do nauki gry na instrumentach muzycznych,
  • kultura - aplikacje do sprzedaży biletów na wydarzenia kulturalne, promujące wydarzenie i zawierające informacje o nim,
  • sport - aplikacje umożliwiające śledzenie wyników zawodów, meczów,
  • edukacja - aplikacje do zarządzania pracą ucznia i nauczyciela, możliwość wstawiania prac domowych, ocen, organizowanie czasu pracy.
Telefon iOS

Dlaczego Flutter jest idealnym rozwiązaniem do budowy MVP?

Technologia Flutter jest bardzo często wybierana przez startupy budujące produkt MVP. Wykorzystanie Fluttera umożliwia szybkie i tanie stworzenie dwóch wersji aplikacji: na Android i na iOS. Startuperom zależy na tym, aby z ich produktu MVP skorzystała jak największa liczba użytkowników, ponieważ chcą uzyskać najwięcej możliwych informacji. Aplikacja działająca zarówno na systemie Android i iOS pozwoli im dotrzeć do dużej grupy potencjalnych użytkowników. Dodatkowo użytkownicy nie znajdą żadnej różnicy między aplikacją powstałą we Flutterze a aplikacją natywą. Równie istotnym czynnikiem wpływającym na wybór tej technologii przez startuperów jest możliwość tworzenia pięknego UI. Flutter dostarcza bogaty pakiet widżetów i umożliwia ich modyfikację, dzięki czemu programiści tworzą niezwykły interfejs użytkownika.


Zalety

Flutter staje się jedną z najpopularniejszych technologii tworzenia aplikacji mobilnych. Swoją rosnącą popularność zapewnia wielu ciekawym właściwościom. Poniżej prezentujemy najważniejsze z nich.

Oszczędność czasu i pieniędzy

Flutter jest wieloplatformowym narzędziem programistycznym, umożliwiającym koderom korzystanie z tej samej bazy kodu tworząc aplikacje na systemy Android i iOS. Warto wspomnieć, że Flutter posiada funkcję “hot reload” pozwalającą na zobaczenie wprowadzonych zmian bez konieczności wcześniejszej rekompilacji całego kodu. W ten sposób bardzo  łatwo i szybko można naprawić błędy oraz eksperymentować z różnymi elementami i funkcjami interfejsu użytkownika.

Szybki development

Aplikacje zbudowane we Flutterze charakteryzują się wyjątkowo szybkim developmentem z dwóch powodów. Po pierwsze, technologia używa języka programowania Dart, którego specjalne komponenty pozwalają na kompilację do kodu natywnego. Po drugie, Flutter posiada bogaty zestaw własnych widżetów, dlatego nie ma potrzeby uzyskiwania dostępu do zewnętrznych widżetów. Te dwie funkcje przyczyniają się do szybkiego developmentu aplikacji. Warto podkreślić, że wydajność aplikacji stworzonych we Flutterze będzie podobna lub wręcz taka sama jak wydajność aplikacji natywnych.

Kompatybilność

Własne widżety nie tylko przyczyniają się do występowania mniejszej liczby problemów z wydajnością aplikacji, ale również powodują mniej problemów ze zgodnością różnych wersji systemów operacyjnych. Po zaktualizowaniu widżetów Fluttera, aplikacja bez większych problemów działa na nowych wersjach systemów. Warto podkreślić, że Flutter cały czas jest rozwijany przez zespół programistyczny firmy Google, który starannie dba o to, aby widżety we Flutterze były jak najbardziej aktualne i zbliżone do widżetów danej platformy.

Własny silnik renderujący

Flutter posiada wysokowydajny silnik renderujący, zapewniający całkowitą swobodę w tworzeniu interfejsu użytkownika niezależnie od platformy. Framework używa własnego silnika renderującego do tworzenia widżetów, a stworzony interfejs użytkownika działa prawidłowo na dowolnej platformie. Dzięki silnikowi programista nie musi odpowiednio dostosowywać interfejsu użytkownika, aby móc przenieść go na inną platformę. W ten sposób Flutter przyczynia się do szybszego tworzenia aplikacji.

Niestandardowy interfejs użytkownika

Flutter pozwala na tworzenie niestandardowego, indywidualnego interfejsu użytkownika. Technologia umożliwia dostosowanie wszystkich elementów widocznych na ekranie. Dostarcza wielu funkcjonalności, do których należą m.in. przycinanie, dobieranie różnych kształtów i kolorów oraz cieniowanie. Mimo iż technologie natywne również pozwalają na budowę niestandardowego interfejsu użytkownika, wymagają jednak zdecydowanie większego nakładu pracy. Flutter sprawia, że proces budowania interfejsu użytkownika przebiega szybko i przyjemnie.


Ograniczenia Fluttera

Dokonując wyboru technologii należy znać nie tylko jej zalety, ale również ograniczenia. Poniżej prezentujemy główne niedoskonałości Fluttera.

Niedojrzałość

Flutter nadal uważany jest za stosunkowo młodą technologię, dlatego nie jest zaliczany do grona dojrzałych i stabilnych frameworków. W porównaniu do starszych i stabilniejszych rozwiązań Flutter posiada skromniejszą ilość zaawansowanych funkcji i mniej rozbudowanych bibliotek. Jednak należy pamiętać, że społeczność Fluttera cały czas dba o jego rozwój, a Flutter w krótkim czasie może dogonić swoich rywali pod względem ilości i jakości funkcji oraz bibliotek.

Duży rozmiar plików

Aplikacje zbudowane w technologii Flutter charakteryzują się dużym rozmiarem plików i zajmują stosunkowo sporo miejsca w pamięci smartphona. W niektórych przypadkach duże rozmiary plików mogą okazać się problematyczne.

Problemy z iOS

Flutter rozwijany jest przez Google, dlatego firma w pierwszej kolejności skupia się na prawidłowym działaniu wszystkich funkcji aplikacji na systemie Android, a nie iOS. Kiedy większość funkcji SDK działa poprawnie na Androidzie, to zdarza się, że na systemie iOS wyskakują błędy. Dodatkowo aktualizacja widżetów do nowszych wersji systemu iOS nie przebiega tak szybko jak w przypadku Androida.


Projekty wykorzystujące technologię Flutter

Technologia Flutter staje się coraz bardziej popularna. Warto podkreślić, że z Fluttera skorzystały takie firmy jak: Google, BMW, Square czy Ebay. Poniżej przedstawimy kilka znanych firm, których aplikacje zostały stworzone we Flutterze.

Google

Firma Google już kilkakrotnie korzystała z Fluttera w swoich projektach. Technologia została wykorzystana m.in. do zbudowania nowej wersji aplikacji mobilnej umożliwiającej zarządzanie kampaniami. W odróżnieniu od poprzednich wersji, nowa odsłona aplikacji wyróżnia się ciekawym wyglądem, powiadomieniami ułatwiającymi zarządzanie kampaniami oraz możliwością edycji bieżących kampanii. Dodatkowo w nowej wersji aplikacji możemy skontaktować się z ekspertami Google.

Google logo

Alibaba

Alibaba wykorzystała technologię Flutter do stworzenia aplikacji obsługującej Xianyau, czyli drugiej co do wielkości platformę detaliczną firmy. Zespół programistyczny Alibaby zdecydował się na wybór tej technologii ze względu na szybkość tworzenia i łatwość utrzymania aplikacji. Warto podkreślić, że obecnie z aplikacji korzysta ponad 50 milionów użytkowników.

Alibaba Group logo

SpaceX

Firma Elona Muska wykorzystała Fluttera do stworzenia aplikacji SpaceX Go. W aplikacji znajduje się m. in. harmonogram startów rakiet oraz katalog wszystkich pojazdów kosmicznych. Dodatkowo aplikacja posiada lokalizator statków kosmicznych, który dostarcza informacji o pozycji i prędkości konkretnego statku kosmicznego w danym momencie.

SpaceX logo

Groupon

Groupon jest przykładem firmy, która zdecydowała się na zintegrowanie istniejącej już aplikacji z technologią Flutter. Dzięki temu firma mogła wprowadzić nowe funkcjonalności do aplikacji i nadać jej lepszy wygląd.

Groupon logo
Skontaktuj się z nami.
Jeżeli masz ochotę dowiedzieć się więcej na temat Fluttera lub potrzebujesz wsparcia w swoim projekcie przy pomocy tego rozwiązania – napisz do nas przez formularz kontaktowy.
Przejdź do formularza

Zapraszamy do zapoznania się z naszymi artykułami