W ostatnich latach na intensywny i dynamiczny rozwój e-commerce znaczący wpływ miało coraz większe wykorzystanie urządzeń mobilnych do zakupów online. W rezultacie dzisiaj mówimy o m-commerce. Według Pew Research Center około 81% Amerykanów posiada smartfon, a dostęp do niego ma aż 96%¹ . W pierwszym kwartale 2021 r. same smartfony generowały prawie 55% globalnego ruchu w witrynie².
źródło obrazu: https://datareportal.com/reports/digital-2021-global-overview-report
Kupujący chętniej korzystają z urządzeń mobilnych do przeglądania oferty sklepów internetowych i kupowania produktów. Według Statisty, w 2016 r. udział ruchu mobilnego w globalnym e-commerce wyniósł zaledwie 52%. Do 2020 r. udział ten wzrósł do ponad 70%3 , i nadal rośnie, odpowiadając za ponad trzy czwarte całego ruchu. W tym kontekście posiadanie przyjaznego dla urządzeń mobilnych sklepu internetowego, stało się koniecznością. Sprzedawcy, którzy wdrażają rozwiązania m-commerce, ułatwiają klientom komunikację z ich marką, dostępność produktów, a także zapewniają prostsze i szybsze zakupy.
W Polsce trend m-commerce jest podobny. Według badań przeprowadzonych przez Santander Consumer Bank4, 41% Polaków dokonuje zakupów w sieci za pomocą urządzeń mobilnych (w porównaniu do ogółem 80% kupujących online w Polsce).
Rozwój i popularność aplikacji mobilnych wymusza na markach spełnienie nie tylko coraz to wyższych oczekiwań użytkowników, ale także tworzenie natywnych wersji aplikacji mobilnych na główne platformy mobilne.
Niestety opracowanie aplikacji natywnej zakłada korzystanie z oddzielnych rozwiązań na urządzenia z mobilnymi systemami Android i iOS, co czyni to kosztownym przedsięwzięciem. I właśnie w tym miejscu wkraczają technologie wieloplatformowe, które umożliwiają tworzenie aplikacji mobilnej jednocześnie na obie ze wspomnianych platform, lecz niższym kosztem.
Na rynku dostępnych jest już wiele technologii wieloplatformowych umożliwiających tworzenie skomplilowanych aplikacji. W roku 2021, zapewne także w najbliższym czasie, głównymi graczami rynkowymi są technologie: React Native i Flutter. Oba rozwiązania mogą zapewnić markom wiele korzyści, które przedstawiamy poniżej:
Pomimo, że oba rozwiązania mają wiele wspólnych cech, występuje między nimi szereg istotnych z naszego punktu widzenia różnic. Przed podjęciem decyzji: Flutter czy React Native, warto poznać te rozbieżności i zastanowić się nad celami, jakie aplikacja mobilna ma realizować.
Przyjrzyjmy się zatem bliżej obu technologiom, ich zaletom i różnicom.
Flutter to najnowsza wieloplatformowa technologia Google5 przeznaczona do programowania aplikacji na systemy operacyjne Android oraz iOS a także strony internetowe oraz Windows, GNU/Linux i MacOS . Flutter pozwala za pomocą jednej bazy kodu źródłowego tworzyć aplikacje natywne na wspomniane platformy. Dzięki temu, że rdzeń aplikacji powstaje w jednym systemie, zawierającym własne widgety (czyt. komponenty graficzne), wygląd aplikacji jest taki sam zarówno na urządzeniach z systemem Android, jak i iOS.
Kod aplikacji pisany jest w języku Dart, również rozwijanym przez Google. Szybko rosnący ekosystem oraz społeczność aktywnych developerów powoduje to, że Flutter przejmuje część rynku aplikacji hybrydowych i natywnych.
Flutter jest dosyć łatwy w nauce, ale osoba, która będzie się uczyła Fluttera, powinna posiadać minimalne doświadczenie w tworzeniu aplikacji natywnych. Bez tej wiedzy nie będzie możliwe zbudowanie funkcjonalnej aplikacji wieloplatformowej. Warto również zaznaczyć, że Dart, czyli język programowania, którego używa Flutter, nie jest jeszcze tak popularny, jak JavaScript, na którym opiera się technologia React Native. Jedną z wad Fluttera może być integracja z natywnymi API, która wymaga napisania natywnego kodu. W przypadku najczęstszych funkcji aplikacji ma to niewielki wpływ. Jednak w bardziej niestandardowych sytuacjach trzeba napisać natywny kod Swift/Objective-C dla systemu iOS i Kotlin/Java dla systemu Android oraz wykorzystać różne zintegrowane środowiska programistyczne (IDE) do interakcji z natywnymi API.
React Native to framework open source opracowany przez Facebooka. Umożliwia on tworzenie aplikacji mobilnych przy użyciu języka JavaScript. Z punktu widzenia użytkownika końcowego – aplikacji napisanych w React Native, podobnie jak tych napisanych we Flutter- nie da się odróżnić od tradycyjnych aplikacji natywnych.
Pomimo cech natywności React Native, nadal końcowa aplikacja nie będzie w stu procentach odzwierciedlać aplikacji natywnej. Zarówno interfejs użytkownika jak i wydajność nie będą takie same, choć zbliżone.
Jedną z głównych wad React Native jest jednak konieczność wyboru pakietu nawigacyjnego- jest to zarówno wada jak i zaleta. Gdy programista tworzy nowy projekt, musi zdecydować, którego pakietu nawigacyjnego, a także którego globalnego zarządzania stanem, użyć.
Zrozumienie niuansów każdego rozwiązania i ostatecznie podjęcie decyzji o wyborze najlepszych do wykorzystania w projekcie może zająć dużo czasu.
Wieloplatformowy charakter zarówno React Native, jak i Flutter skraca czas wprowadzenia produktu na rynek, w porównaniu z aplikacjami natywnymi. Dodatkowo dostarczone biblioteki i gotowe do użycia komponenty, sprawiają, że korzystanie z nich podczas tworzenia aplikacji jest bardziej wydajne.
Flutter i React Native zapewniają nie tylko szybki rozwój, ale mogą także przyczynić się do znacznej obniżki kosztów projektu.
Warto podkreślić rosnącą popularność technologii Flutter – Od lutego 2020 r. liczba użytkowników szukających Fluttera w Google przekroczyła liczbę React Native. Ten trend jest oznaką potencjału przyszłego wzrostu i dystrybucji na rynku.
Która zatem technologia będzie najlepszym wyborem dla Twojej aplikacji?
Wybór odpowiedniej technologii kryje się w odpowiedziach na kilka zadanych sobie pytań:
Jaka jest specyfika Twojego projektu? Czy Twój zespół zna język programowania Dart, czy może biegle posługuje się JavaScriptem? Czy chcesz zbudować UI swojej aplikacji przy użyciu natywnych komponentów interfejsu użytkownika, czy też stworzyć UI dostosowany do marki? Gdy priorytetem Twojego projektu jest stworzenie aplikacji, która będzie kładła szczególny nacisk na UX, UI i wydajność, Flutter będzie najlepszym wyborem. Natomiast jeśli istotne jest szybkie zbudowanie aplikacji z niezbyt zaawansowanym flow z wykorzystaniem gotowych komponentów, wówczas najlepszym wyborem będzie React Native.
Poniżej zamieszczamy naszą ocenę Fluttera i ReactNative pod kątem kilku wybranych cech.
Nasze zestawienie pokazuje, że Flutter jest zdecydowanie lepszy pod względem wydajności, kompatybilności i funkcji aplikacji, a także kosztów deweloperskich i dalszych trendów rynkowych. Jednakże React Native jest wyraźnie lepszy, jeśli chodzi o znajdowanie programistów – z racji obecnie większej popularności języka JavaScript. Dostępność wykwalifikowanych developerów bezpośrednio wpływa na czas wprowadzenia na rynek. Dla wielu firm jest to niezbędne przy wyborze odpowiedniej technologii dla aplikacji.
W naszym portfolio mamy wiele realizacji aplikacji wykonanych w technologii Flutter. Aplikacje istnieją na rynku od dłuższego czasu i zbierają pozytywne oceny. Wśród nich znajdują się m.in: Stokrotka, Bricomarche, Bonito, mojeINFOPOLE, Sizeer, FiTKiddo. Z perspektywy czasu widzimy, że dokonany przez nas wybór Fluttera, jako wiodącej platformy mobilnej, był odpowiedni – biorąc pod uwagę dojrzałość technologii i stale poszerzającą się społeczność.
Jeśli nadal masz problem z doborem technologii lub szukasz programistów – zgłoś się do nas, a z przyjemnością pomożemy doprowadzić Twój projekt do sukcesu!
1 https://www.pewresearch.org/internet/fact-sheet/mobile/
2 https://www.statista.com/statistics/277125/share-of-website-traffic-coming-from-mobile-devices/
3 https://www.statista.com/chart/13139/estimated-worldwide-mobile-e-commerce-sales/
Na początku każdego roku dokonujemy przeglądu najlepszych praktyk i trendów w m-commerce na kolejne dwanaście…
E-commerce zdecydowanie zakorzenił się w naszym stylu życia. W 2020 roku sprzedaż internetowa stanowiła 18%…
Dlaczego powinieneś mieć aplikację mobilną? Jednym zdaniem? Ponieważ zapewnia większe przychody. Jak już wiesz, rynek…
Dobrze przemyślany program lojalnościowy to świetna okazja, żeby zwiększyć sprzedaż, przyciągnąć nowych klientów i budować…
Android i iOS to obecnie główne systemy operacyjne przeznaczone dla urządzeń mobilnych. Natywne aplikacje pisane…
Za nami pierwszy rok pandemii koronawirusa. To był naprawdę szalony czas, który poważnie wpłynął na…