Tworzenie aplikacji w React Native

Jedną z naszych specjalności są aplikacje mobilne pisane w React Native. Technologia ta, jak wszystko, ma swoje plusy i minusy, mocne i słabe strony. Przed podjęciem decyzji o rozpoczęciu projektu w tej technologii warto poznać kilka podstawowych faktów na jej temat.


Czym dokładnie jest React Native?

React Native jest jednym z frameworków pozwalających szybko tworzyć aplikacje na różne platformy systemowe, w tym wypadku najczęściej na Android oraz na iOS. Technologię tę stworzył Facebook, który wykorzystuje ją do tworzenia własnych aplikacji.

Pracując w React Native programista pisze kod, który jest następnie tłumaczony na natywny kod obsługiwany przez odpowiednią platformę. Kod natywny jest z kolei kompilowany do właściwej aplikacji. Dzięki temu rozwiązaniu programista pisze jeden kod (zamiast dwóch osobnych), co pozwala na spore oszczędności nie tylko podczas tworzenia aplikacji, lecz także jej utrzymania. W praktyce dla osiągnięcia tego samego efektu (dwie aplikacje) powstaje blisko o połowę mniej kodu.

Kto stosuje React Native?

Popularność React Native w ostatnim czasie znacząco wzrasta. Do wzrostu przyczynia się fakt, że technologię tę stosują najwięksi gracze Doliny Krzemowej i nie tylko. Wśród nich, poza samym Facebookiem, warto wymienić takie firmy jak Skype, Tesla, AirBNB, Walmart, Instagram czy UberEats. Więcej przykładów zastosowania React Native tutaj.

Jak wyglądają aplikacje w React Native?

Aplikacji napisanych w React Native praktycznie nie da się odróżnić od aplikacji natywnych (pisanych bezpośrednio na pojedynczą platformę mobilną). Aplikacje korzystają (albo przynajmniej mogą korzystać) ze znanych użytkownikom systemu kontrolek i innych standardowych elementów interfejsu.

Aplikacje stworzone w React Native nie przypominają aplikacji webowych (obsługiwanych przez przeglądarkę) ani aplikacji hybrydowych (strony „zaszyte” w aplikacjach).

Czy aplikacje w React Native są tak dobre jak aplikacje natywne?

Technicznie rzecz ujmując, aplikacje stworzone w React Native niczym nie różnią się od aplikacji natywnych. Istotne różnice pojawiają się wyłącznie na poziomie tworzenia i utrzymania aplikacji. Można jednak mieć nadzieję, że wraz z rozwojem tej technologii różnice te na będą coraz mniejsze.

Kiedy warto tworzyć aplikacje w React Native?

W zdecydowanej większości przypadków warto przynajmniej rozważyć użycie React Native jako platformy deweloperskiej przy nowym projekcie mobilnym. Nie można zapominać, że są sytuacje, gdy programista musi odejść od paradygmatu jednego kodu na dwie platformy i uwzględnić pewne różnice między nimi. Im więcej tych różnic, tym użycie React Native staje się mniej korzystne.

Warto dodać, że przy obecnej silnej specjalizacji w IT utrzymywanie dwóch wersji aplikacji może oznaczać również konieczność posiadania dwa razy większego zespołu niż w przypadku prowadzenia projektu w React Native.

Czy React Native jest technologią hybrydową?

Technicznie nie. Nazwa „aplikacja hybrydowa” oznacza aplikację, która jest złożeniem (hybrydą) aplikacji webowej (dostępnej przez przeglądarkę) oraz aplikacji natywnej (czyli zbudowanej z komponentów i kontrolek udostępnianych przez daną platformę mobilną). Natomiast za pomocą React Native otrzymuje się normalną aplikację natywną. Jednakże można powiedzieć, że React Native bazuje na koncepcjach wytworzonych wcześniej w technologiach hybrydowych.

Czy React Native ma jakieś ograniczenia?

React Native nie w pełni wspiera API iOS oraz Androida, problematyczne może być również użycie pewnych niestandardowych bibliotek. Jednakże problemy te mają znaczenie jedynie w wąskim zakresie funkcjonalności.

Czy React Native i React to to samo?

React, zwany również ReactJS jest biblioteką JavaScript. Aplikacje React Native mogą używać ReactJS.

Ile kosztuje napisanie aplikacji w React Native?

To oczywiście zależy od projektu. Można jednak przyjąć, że w zdecydowanej większości przypadków napisanie aplikacji na dwie platformy (iOS i Android) w React Native jest znacznie tańsze niż osiągnięcie tej samej funkcjonalności, stosując podejście tradycyjne.

Czasem rozwiązanie w React Native jest tańsze jedynie o 10%, ale w wielu sytuacjach może być tańsze nawet o blisko 50%.

Jeśli rozważasz stworzenie jakiejś konkretnej aplikacji, skontaktuj się z nami i zapytaj wycenę.