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
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.
Ekspresyjny i elastyczny UI
W technologii Flutter mamy do czynienia z bardzo ekspresyjnym i elastycznym interfejsem użytkownika, poprawiającym szybkość renderowania.
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.
Nasi Klienci
Polski Związek Motorowy
Adamed
Polska Agencja Prasowa
Astor
IFX Payments
TEB Edukacja
Fundacja Moc Pomocy
Elemental Holding
French Touch
Polski Komitet Normalizacyjny
TU
Bergakademie Freiberg
Bank Nowy BFG
Narodowe Centrum Promieniowania Synchrotronowego SOLARIS
Astorino Kawasaki Robotics
DTK&W Zespół Ogłoszeniowy
Opegieka
Crazy shop
PartyBox
WUOZ w Krakowie
Uniwersytet Medyczny w Łodzi
Grupa Mo
Jeleniogórska Organizacja Turystyczna
eFitness
Instytut Badań Literackich PAN
Danhoss
Fundacja Sztuki, Przygody i Przyjemności ARTS
Opennet.pl
Centrum Medyczne Intermed
Centrum Rozwoju Edukacji Edicon
Winner Europe
Po amputacji
MamMoc.pl
EtnoStoria
Widzisz Wszystko
EMKA Project
NowaLed ILL
Eco Light LED
LoxiMide
Fundacja AVLab.pl
RCC Nova
Vector Controls
Virtual SMS
Parus Holdings
Biuro Partner
Optime.AI
M2M Team
Aplikacja została zrealizowana w technologii React Native. Dla klienta opublikowaliśmy ją w sklepie Google Play i App Store.
Backend aplikacji również został stworzony w języku JavaScript, przy użyciu technologii Node.js.
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 i Lambda (w języku Python).
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.
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.
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.
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.
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.
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.