Plama
Co to jest React Native?

Czym jest React Native i do czego służy?

React Native jest to opracowany przez zespół Facebook framework cross-platform, pozwalający na równoległe tworzenie aplikacji mobilnych zarówno na system Android jak i iOS. Jest on jednym z bardziej popularnych rozwiązań tego typu, głównie za sprawą popularnego ostatnimi czasy języka JavaScript na którym bazuje.

Użycie rozwiązań cross-platformowych jest  przede wszystkim oszczędnością czasu, a co za tym idzie pieniędzy, które trzeba przeznaczyć na projekt. Tworząc aplikacje natywnie, chcąc stworzyć produkt na dwa systemy mobilne, musimy liczyć się z koniecznością utrzymania dwóch zespołów, które będą niezależnie od siebie rozwijać dwie aplikacje w dwóch różnych językach. Dzięki React Native możemy uniknąć tego problemu tworząc jeden produkt przez jeden zespół w jednym języku JavaScript.

Jak powstał React Native?

Podczas pierwszego publicznego wywiadu od czasu debiutu giełdowego Facebooka, Mark Zuckerberg przyznał, że koncepcja budowy aplikacji mobilnych z wykorzystaniem języka HTML5 była błędem. Budowane w ten sposób aplikacje, mające upodabniać się do aplikacji mobilnych, były zbyt niestabilne i posiadały za niską prędkość działania.

Rozwiązanie problemu znalazł Jordan Walke, który opracował sposób na generowanie natywnych elementów interfejsu dla iOS za pomocą działającego w tle wątku Javascript, który stał się podstawą frameworka React Native.

Pierwsza wersja React Native została opublikowana w 2015 r. Inżynier Facebooka Christopher Chedeau wyjaśnił, że Facebook używa React Native do tworzenia swoich aplikacji mobilnych takich jak Group App i Ads Manager App.

Mocne strony React Native

  • Niski koszt tworzenia aplikacji
  • Duża społeczność programistów stale rozwijająca framework dzięki działaniu open source
  • Duży wybór gotowych narzędzi i bibliotek ułatwiających pracę nad aplikacją. na temat jednej z bibliotek można przeczytać na naszym blogu: WatermelonDB w React Native (1/2) oraz WatermelonDB w React Native (2/2)
  • Funkcja “hot reloading”, która umożliwia podgląd zmian w oknie aplikacji od razu po dokonaniu modyfikacji w kodzie przyspieszając tym samym proces tworzenia aplikacji.
  • Wysoka wydajność aplikacji
  • Architektura zbliżona do biblioteki React.js

Dostęp do natywnych modułów – więcej informacji na ten temat znajdziesz w naszym wpisie „Natywne komponenty Android w React Native

Czym różni się React od React Native?

React, podobnie jak React Native został opracowany przez zespół Facebook i jest to biblioteka pozwalająca na tworzenie interfejsów dla aplikacji webowych działających w przeglądarce internetowej. React Native bazuje na bibliotece React a proces wytwarzania aplikacji w tych dwóch technologiach wygląda podobnie, co ułatwia odnalezienie się programistom jednej z nich w drugiej.60

Flutter a React Native

React Native nie jest jedynym rozwiązaniem cross-platform dla aplikacji mobilnych z którego mogą skorzystać deweloperzy. Obok niego jest parę liczących się technologii, na przykład Flutter który w ciągu paru ostatnich lat zyskał dużą popularność.

Bazujący na języku Dart, framework Flutter opracowany i rozwijany przez firmę Google jest coraz częściej wykorzystywany przy tworzeniu nowych aplikacji na urządzenia mobilne. Korzystają z niego takie aplikacje takie jak Alibaba czy eBay Motors.

Przewagą jaką Flutter ma nad React Native jest to, że nie bazuje na natywnych kontrolerach UI a buduje własne widgety co zapewnia identyczny wygląd i sposób działania na obu systemach, zarówno iOS jak i Android. Dodatkowo jest znacznie wydajniejszy za sprawą tego, że aplikacja kompilowana jest z użyciem biblioteki arm C/C++, gdzie w React Native komunikacja wątku natywnego oraz wątku JavaScript ze sobą za pomocą tak zwanych “mostów” jest mocno obciążająca.

Przewagą jaką React Native ma nad Flutterem jest niewątpliwie większa popularność języka JavaScript nad językiem Dart, jednak to nie wszystko. Do wad Fluttera należy fakt, że ma utrudnioną komunikację z natywnymi modułami z czym o wiele lepiej radzi sobie React Native, korzystając tak naprawdę z natywnych bibliotek połączonych mostem z wątkiem JavaScript. Dodatkowo dużą przewagą React Native jest jego community. Duża ilość bibliotek oraz pomocna społeczność mocno ułatwia pracę deweloperom.

Przykłady naszych projektów, które są oparte o React Native

Football Challenge App

Mobilna aplikacja na system Android i IOS, służąca głównie do tworzenia i zarządzania piłkarskimi wydarzeniami i drużynami. Umożliwia szybki kontakt między zespołami oraz pomiędzy członkami zespołu i trenerem co czyni proces umawiania się na mecze piłkarskie prostszym i szybszym. Aplikacja posiada również wewnętrzny ranking drużyn, rozbudowany system powiadomień, system statystyk nadawanych na żywo oraz kilka typów kont użytkowników pełniących określone role w aplikacji.  

E-kwiaty

Aplikacja umożliwia składanie zamówień na kwiaty, prezenty i upominki dostępne w ofercie kwiaciarni. Stan realizacji każdego naszego zamówienia możemy śledzić na bieżąco, mamy też dostęp do podglądu archiwalnych zamówień. Aplikacja udostępnia funkcję informowania i przypominania o promocjach i okazjach.

Promodetektor

Zaawansowana aplikacja mobilna wraz z system do zarządzania treścią (CMS). Dzięki zastosowaniu nadajników beacon w jednym z warszawskich hipermarketów Promodetektor  informuje o promocjach przekazywanych w czasie rzeczywistym.

Więcej przykładów i szczegółowych opisów naszych realizacji znajdziesz tutaj.

Jesteśmy specjalistami w dziedzinie tworzenia aplikacji mobilnych. Specjalizujemy się w wykorzystaniu frameworka React Native Dajemy pełną wsparcie, a produkty tworzymy pod potrzeby klienta. Skontaktuj się z nami w celu omówienia oferty.

Kategorie
Inne posty