React Native i Flutter przejmują rynek cross-platformowego developmentu aplikacji mobilnych

Aplikacje Cross-platformowe - React Native i Flutter

Jednym z najpopularniejszych trendów na przełomie 2019 i 2020 roku wśród twórców oprogramowania jest niewątpliwie cross-platform development aplikacji mobilnych. Startupy, duże marki i doświadczone korporacje, a także developerzy i firmy software’owe – wszyscy chcą tego samego, gdy tworzą aplikacje. Ich celem są szybkich rezultaty oraz jak najniższy koszt i jak najwyższa jakość.

Spis treści

  1. Czy aplikacje cross-platformowe to prawdziwe aplikacje mobilne?
  2. Czym jest cross-platform development
  3. Aplikacje cross-platformowe – krótka historia
  4. Cross Platform Development
    React Native – topowy framework do tworzenia cross-platformowych aplikacji mobilnych
    Duże zapotrzebowanie = Świetlana przyszłość
    Ciągłe udoskonalanie
    Nie zawsze idealny
    Wprowadza nowości, lecz zatrzymuje stare, dobre funkcje
    Jeśli działa, to czemu nie spróbować?
  5. Flutter
    Szybkie zdobycie popularności
    Punkt widzenia programistów
    Wszyscy są zainteresowani
  6. Zwinność ponad wszystko
  7. Teraz działa także w Scrum!
  8. Trzecia opcja

Czy aplikacje cross-platformowe to prawdziwe aplikacje mobilne?

Frameworki cross-platformowe oferują możliwość tworzenia aplikacji na wiele systemów operacyjnych (iOS, Android), korzystając z jednej technologii. Zarówno Flutter, jak i React Native pozwalają programiście tworzyć aplikację na więcej niż jeden system. Oczywistą zaletą w tym przypadku jest fakt, iż potrzebujemy tylko jednego zespołu do stworzenia dwóch aplikacji. To przekłada się bezpośrednio na efektywność czasową i kosztową, również dzięki mniejszemu zapotrzebowaniu na  zespół zarządzający i testerów.

Czym jest cross-platform development

Najprościej ujmując, to użycie jednej technologii lub frameworka do stworzenia aplikacji na wiele systemów operacyjnych.

Nie ma nic złego w potrzebie stworzenia czegoś dobrego, a zarazem taniego. Mówią, że nie można mieć wszystkiego. Czyżby? A co z utopijną ideą, świętym Graalem technologii mobilnych – developmentem cross-platformowym?

Aplikacje cross-platformowe – krótka historia

Pomysł tworzenia hybrydowego lub multi-platformowego oprogramowania mobilnego nie jest nowy. Wiele prób stworzenia frameworka cross-platformowego zostało podjętych pomiędzy 2011 a 2019 rokiem – większość z nich zakończyła się w mniejszym bądź większym stopniu sukcesem. Rosnące różnice pomiędzy technologiami natywnymi doprowadziły do dramatycznych wzrostów kosztów developmentu mobilnych produktów natywnych na iOS i Androida, co skutkowało potrzebą alternatywy i cięcia kosztów. Od aplikacji webowych opartych na przeglądarkach – wciąż popularne i nadal często stosowane rozwiązania, poprzez technologie podobne do natywnych jak Xamarin, Ionic, Nativescript i kilka innych, dotarliśmy do tu i teraz.

Bez wątpienia React Native i Flutter są aktualnie na językach, podczas gdy zainteresowanie Xamarin, Ionic i Phonegap (i innymi technologiami) znacznie maleje. Postanowiliśmy więc skupić się na liderach wyścigu frameworków cross-platformowych roku 2020 – React Native i Flutter.

Cross Platform Development

React Native – topowy framework do tworzenia cross-platformowych aplikacji mobilnych

Cross-platformowy framework stworzony przez Facebooka istnieje już od kilku dobrych lat. Bardzo dobre początkowe przyjęcie go oraz mnóstwo uwagi ze strony Facebooka dały temu frameworkowi solidną bazę pod dalszy rozwój.

Nazwa i korzenie React Native mają swoje źródło w React.js – bibliotece, którą (wraz z wieloma innymi) użyto do stworzenia platformy Facebook. React Native wykorzystuje Javascript do pisania komponentów UI zarówno na Androida, jak i na system iOS.

Duże zapotrzebowanie = Świetlana przyszłość

W 2020 zapotrzebowanie na development w React Native stale rośnie. W wielu regionach świata jest ono tak duże, że przewyższa liczbę dostępnych programistów w tej technologii. Twierdzenie, iż React Native pozwala znacznie zredukować ogólny koszt zbudowania aplikacji mobilnej, jest w tym wypadku nieco na wyrost. Przez niedobór programistów, cena za zatrudnienie choćby jednego sporo wzrasta, zwłaszcza w porównaniu ze specjalistami od rozwiązań natywnych w iOS i Androidzie.

Ciągłe udoskonalanie

Wciąż jednak inne zalety tego frameworka zasługują na wyróżnienie. Funkcja “hot reload” pozwalająca od razu zobaczyć wprowadzone zmiany, jedna baza kodu dla dwóch platform, cały czas rosnący wybór bibliotek i nieprzerwane wsparcie Facebooka oraz open-source’owej społeczności – wszystko to sprawia, że React Native to nadal interesująca opcja.

Strategia marketingowa i wsparcie pomogły React Native osiągnąć popularność na całym świecie, choć nie udało się uniknąć błędnych założeń i nierealistycznych oczekiwań. Można powiedzieć, że React Native stał się w pewnym stopniu obiektem mitów i legend. Możecie przeczytać więcej na ten temat w jednym z naszych artykułów: Fakty i mity na temat React Native.

Nie zawsze idealny

Dla nas, twórców oprogramowania, dodanie nowego frameworka do naszych usług to otwarcie się na nowe możliwości biznesowe. Zauważamy rosnące zainteresowanie klientów produktami tworzonymi w React Native. Zawsze, gdy głównym założeniem jest cięcie kosztów i skrócenie czasu trwania projektu, pojawiają się pytania o cross-platform development.

React Native, pomijając jego zalety, to wciąż rozwijająca się technologia, która ma swoje ograniczenia. React Native nie jest jeszcze szczytem perfekcji, więc trzeba podchodzić do tego frameworka z rozsądkiem. Zanim zainwestujemy swoje pieniądze w produkt tworzony przy pomocy tej technologii, warto przyjrzeć się wszystkim jej wadom i zaletom w naszym artykule na ten temat

Wprowadza nowości, lecz zatrzymuje stare, dobre funkcje

Oszczędzanie budżetu oraz jak najkrótszy czas wprowadzenia produktu na rynek są obecnie najważniejsze, a my chcemy zadowolić naszych klientów i oferować im usługi odpowiadające ich potrzebom. Dlatego poszerzanie naszego zestawu narzędzi jest konieczne, a zmiana nieunikniona. Aktualizowanie wiedzy na temat tradycyjnych technologii natywnych to regularny proces, ale wprowadzenie nowego podejścia może być trudne. Dzięki React Native można to zrobić całkiem gładko i bez większych przeszkód. Gdy mamy już JavaScript jako bazę pod kodowanie, dodanie nowego frameworka przez developerów to raczej kwestia chęci i nie potrzeba do tego rozbudowanych szkoleń. Ze względu na rosnące zapotrzebowanie na specjalistów React Native, zwiększanie umiejętności zatrudnianych developerów to logiczny wybór większości software house’ów.

Jeśli działa, to czemu nie spróbować?

Aplikacje zbudowane w React Native stają się naturalną częścią świata aplikacji mobilnych. Doceniają je zarówno startupy, jak i mocno rozbudowane firmy. Ta technologia używana jest do tworzenia oprogramowania dla rynków mobilnych sektora B2B i B2C. Wiele światowych marek wypuściło już swoje aplikacje w React Native, niektóre ze sporym sukcesem, inne nie aż tak.

Szczególne zainteresowanie wobec technologii cross-platformowych można zauważyć wśród firm, które chcą tworzyć wstępną wersję MVP swoich produktów. Czy zbudowanie MVP z pomocą React Native to dobry pomysł? Jest tylko jeden sposób, by się tego dowiedzieć (kliknąć w link).

Flutter

Jak na młody framework (premiera w 2018 roku), Flutter robi spory szum w społeczności programistów mobilnych. Nie jest to zaskakujące. “Wspaniałe aplikacje natywne w rekordowym czasie” – to zdanie z pewnością przemawia do każdego, kto chce szybko budować aplikacje natywne. W końcu czas to pieniądz, a jakość ma ogromne znaczenie.

Ze względu na ostatnie tendencje twórców aplikacji do większego skupiania się na User Experience, Flutter pasuje tu wręcz idealnie z rozwiązaniami, które proponuje. Zarówno marketing, jak i wsparcie ze strony Google nie pozostawia nic przypadkowi. Widać, że gigant rynku wyszukiwarek poważnie podchodzi do tematu i pokazuje to na każdym kroku. Oficjalna strona Fluttera pełna jest informacji o ostatnich usprawnieniach, dokumentacji, artykułów i rekomendacji ze strony twórców oraz developerów korzystających już z tej technologii. Nie ma wątpliwości, że Google uważnie śledzi rynek.

Szybkie zdobycie popularności

Baza klientów, pomijając fakt, że jest mała ze względu na krótką obecność frameworka na rynku, już może się pochwalić takimi markami jak ebay, Tencent czy Alibaba Group. Nie wspominając o BMW – chyba najbardziej entuzjastycznym, skrajnie beztroskim zwolennikiem tej nowej technologii. Nieco zaskakujące, jeśli nie podejrzane dla twórców samochodów ceniących precyzję i jakość. Aplikacja wciąż jest w fazie developmentu i nic szczególnego nie ujawniono. Biorąc pod uwagę słowa Guy’a Duncana, CTO Connected Company w BMW: “Dzięki połączeniu Darta i Fluttera, mamy pierwszy prawdziwy zestaw cross-platformowych narzędzi mobilnych; czujemy, że dzięki tej ogromnej zmianie będziemy mogli zapewnić funkcję parowania dla cyfrowych punktów styku i IoT…” – powinniśmy spodziewać się aplikacji łączącej nas bezpośrednio z samochodem i z siecią.

Punkt widzenia programistów

Odbiór Fluttera przez globalną społeczność programistów jest bardzo pozytywny. Developerzy doceniają rozbudowaną dokumentację, wsparcie, informacje o ostatnich rozszerzeniach i nowych możliwościach, jakie oferuje ten cross-platformowy framework. Nasza wstępna recenzja Fluttera jest raczej pozytywna. Z niecierpliwością czekamy na całkowite wdrożenie tej technologii jako jednej z naszych usług w zakresie tworzenia oprogramowania.

Wszyscy są zainteresowani

Obserwujemy  rosnącą liczbę klientów biznesowych ze Stanów Zjednoczonych, Wielkiej Brytanii i innych krajów zachodnich przekierowujących outsourcing swoich projektów software’owych w React Native to centralnej i wschodniej Europy oraz Azji, gdzie firmy tworzące oprogramowanie oferują porównywalną jakość w znacznie atrakcyjniejszych cenach. Z punktu widzenia software house’u stacjonującego w Polsce, dzięki włączeniu Fluttera i React Native do naszej oferty, możemy zaangażować się w interesujące projekty aplikacji mobilnych we współpracy z klientami, którzy do tej pory woleli pracować z lokalnymi dostawcami tego typu usług. Jeśli cross-platformowe aplikacje mobilne pozwolą nam dotrzeć do rynków zagranicznych, to je właśnie będziemy tworzyć.

Zwinność ponad wszystko

Gdy myślimy o metodologiach typu Agile, ich nieodzownej elastyczności i dopasowywaniu się do zmian, wydaje się, że React Native i Flutter spełniają wszystkie kryteria.

Używając jednej technologii zarówno dla aplikacji na iOS, jak i na Androida, otrzymujemy zwiększoną interoperacyjność w zespołach projektowych, proste zarządzanie oraz budowanie produktu dla dwóch systemów jednocześnie, w tym samym tempie.

Z perspektywy klienta, cross-platform development prezentuje ciekawe zalety. Na szczycie listy mamy oczywiście oszczędność pieniędzy, ale pojedyncza baza kodu, łatwiejszy management, możliwość szybszego wypuszczenia produktu na rynek z zachowaniem wysokiej jakości to również powody, dla którego warto wybrać to rozwiązanie.

Teraz działa także w Scrum!

Ważna, choć czasem pomijana, zaleta technologii cross-platformowych to ich praktycznie idealne dopasowanie do metodologii Agile developmentu. Przy obecnej modzie na używanie Scrum w zarządzaniu projektami IT, frameworki międzyplatformowe takie jak Flutter i React Native oferują dużą dozę elastyczności.

Połączenie Scruma i cross-platformowego developmentu odpowiada Product Ownerom, bo daje im większe możliwości nadzorowania projektu oraz jasne pojęcie o postępach w tworzeniu obu aplikacji na iOS i Androida. Scrum Masterzy muszą martwić się tylko jednym, zunifikowanym backlogiem, a zespoły developerskie mogą pracować razem nieprzerwanie, bez zajmujących czas konsultacji pomiędzy programistami Swift (iOS) a Kotlin (Android). Quality Assurance także zyskuje, ponieważ testujemy pojedynczą bazę kodu, a nie dwie kompletnie różne (wewnętrznie) aplikacje.

Trzecia opcja

Możemy śmiało stwierdzić, że aplikacje cross-platformowe zostaną z nami na dłużej i będziemy obserwować więcej świetnych projektów w React Native i Flutterze. Gdy porównać te dwa frameworki, React Native to “starszy brat”, a Flutter zapowiada się naprawdę dobrze. Razem tworzą trzecią siłę na rynku twórców aplikacji mobilnej. Można się po nich spodziewać sporego wpływu na usługi branży IT w najbliższych latach.

5 (100%) 3 vote[s]