React Native to framework oparty na JavaScript. Od konkurencji odróżnia go fakt, że łączy najlepsze cechy frameworków hybrydowych i natywnych. Z jednej strony, mimo że aplikacja dla iOS’a i Androida wyglądać będzie inaczej, to około 70 procent kodu będzie można wykorzystać ponownie. React Native nie polega zupełnie na HTML-u czy CSS, ale pozwala na pisanie w JavaScript. Później, przy kompilacji, dopasowuje się do natywnego języka platformy przez most React Native.

 

Pomijając PWA, React Native zrewolucjonizował cross-platformowe pisanie kodu. Na tym frameworku powstało wiele znanych aplikacji, takich jak Facebook Ads Manager, AirBnB, UberEats czy nawet Instagram. Co jednak wpłynęło na sukces?

 

React Native ma możliwość współdzielenia kodu w repozytoriach i wykorzystywania wtórnego wielu komponentów. Framework ten słynie z tego, że raz zapoznany z nim deweloper jest w stanie napisać cokolwiek, niezależnie od platformy. Ekspert w JavaScripcie może z miejsca budować aplikacje w React Native.

 

Perspektywa biznesowa

Zalety React Native docenili giganci IT. Facebook i jego team deweloperów kładzie wysoki nacisk na elastyczność ich aplikacji pomiędzy platformami, ponieważ dla tak dużej korporacji zasięg platformowy musi być, jak największy. Zdają sobie sprawę z różnic między systemami operacyjnymi i ich typowymi cechami. React Native pozwala zachować typowe dla iOS’a lub Androida moduły, jak nawigacja czy pas postępu oraz umożliwia dostęp do kamery i kontaktów, niezależnie od środowiska.

 

Nawet dla dużej firmy posiadanie osobnych aplikacji dla urządzeń stacjonarnych i mobilnych może być uciążliwe. Korzystanie z bibliotek React Native dla projektów webowych umożliwia stworzenie aplikacji cross-platform działającej również w przeglądarce. Progressive Web Apps oferuje podobne cechy, ale decyzja dotycząca frameworka zawsze uzależniona jest od wielu czynników i dobrze jest wiedzieć, że istnieje alternatywa.

 

Należy jednak pamiętać, że korzystanie z React Native nie implikuje całkowitej kompatybilności od początku i pomoc dewelopera z konkretnej platformy może być konieczna.

 

Współpraca z zespołem deweloperów

Dla klienta biznesowego, czyli zleceniodawcy, z pewnością istotny będzie fakt, że do pracy przy React Native nie potrzeba wyspecjalizowanego zespołu. Deweloper nie musi znać Swift iOS’a ani Java/Kotlin Androida. Front-end powstanie z rąk programisty znającego się na elementach UI (user interface), React oraz na konkretnych elementach należących do danej platformy. 

 

Wystarczy zatrudnić deweloperów piszących w JavaScript i tworzących aplikacje na różne platformy. Wymienią się oni wiedzą oraz będą recenzować nawzajem kod, a wszystko podczas pracy na tym samym frameworku.

 

Osiągi aplikacji React Native

React Native powstało z myślą o osiągach i elastyczności w środowisku wielu platform. Oczywiście nic nie będzie lepsze od aplikacji natywnej i jej osiągów w środowisku natywnym, ale produkty powstające na React Native nie ustępują miejsca pod kątem wykorzystania procesora graficznego, logicznego i pamięci podręcznej swojej natywnej konkurencji. W wielu testach React Native wypada równie dobrze co aplikacje przeznaczone dla konkretnego środowiska.

 

Perspektywa dewelopera w używaniu React Native

Na początku pracy przy aplikacji w języku React, deweloper wybierze paczkę Webpack i dopasuje z niej odpowiednie moduły. React Native posiada wszystko, co potrzeba, od samego początku. Dzięki temu środowisko nie wymaga żadnej konfiguracji. Do pisania kodu można przejść od samego początku.

 

Praca przy kodzie

React Native posiada również funkcję lubianą przez deweloperów. Chodzi o Hot i Live reload umożliwiające podgląd wprowadzonych zmian natychmiast bez przebudowy całej aplikacji. Hot reload wyświetla stan zmodyfikowanych plików z aplikacji, a Live reload odświeża całą aplikację po wprowadzeniu zmiany w plikach. Nie trzeba nieustannie sprawdzać rezultatów, co oszczędza czas przy kompilacji i zwiększa produktywność dewelopera. 

 

Korzystanie z komponentów jest mocno uproszczone, w porównaniu do aplikacji natywnych. Wydajność w wyświetlaniu animacji, przycisków, tekstu i przewijania przyspiesza pracę i szybkość wykonywania podstawowych zadań deweloperskich.

 

Biblioteki React Native

Do React Native istnieje ogromna lista bibliotek z modułami przeznaczonymi zarówno do iOS’a, jak i Androida. Jednak niektóre z nich pozostawiają wiele do życzenia. Jest to obszar, w którym React Native musi się poprawić. Przy pracy nad powiadomieniami push lub sensorami urządzenia może być potrzebna pomoc dewelopera natywnego. 

 

Jednak trzeba pamiętać o tym, że na React Native pracuje dużo doświadczonych zespołów, jak np. Facebook, i biblioteki też rosną w dużym tempie. W zeszłym roku 500 użytkowników dodało 2500 wpisów. Dzięki temu React Native staje się coraz bardziej elastyczne i posiada  coraz większą możliwość integracji między platformami. Nawet jeśli wciąż występują sytuacje, w których trzeba tworzyć autorskie rozwiązania od zera dla pojawiających się problemów, to są one coraz rzadsze.

 

 

Mimo swoich wad React Native posiada zalety, obok których nie sposób przejść obojętnie. Szeroki zakres integracji między platformami i możliwość stworzenie jednej aplikacji na urządzenie mobilne i do przeglądarki to największy atut. Oprócz tego nad aplikacją mogą pracować deweloperzy niebędący ekspertami w dziedzinie danego środowiska. Wystarczy znajomość JavaScript i chęć nauki. Nawet jeśli jest to środowisko wciąż rozwijające się, to każda zmiana jest na lepsze i w kierunku większej elastyczności oraz szybkości działania.