React-native to wspaniały framework do produkcji aplikacji mobilnych. Wydaje się być doskonały w połączeniu wymagań biznesowych, koszcie utrzymania i szybkości wprowadzania zmian. Oczywiście jest ograniczony w stosunku do aplikacji napisanej natywnie pod względem szybkości działania oraz łatwości integracji z natywnymi api. I tutaj dochodzimy do sedna sprawy.
React-native może być najlepszym rozwiązaniem dla jednej grupy projektów, ale równocześnie niszczycielem produktywności i stabilności aplikacji dla drugich.
Firmy mogą popełnić bardzo poważny błąd jeśli chodzi o technologię react-native w przypadku aplikacji mobilnej do IOT. Tego typu projekty bardzo często wymagają bardzo granuralnego dostępu do natywnych API telefonów. Takie coś jests znacznie utrudnione w przypadku react-native. Owszem jest oszczędność pieniędzy jeśli chodzi o technologię react-native w stosunku do natywnych aplikacji gdzie utrzymujesz dwie bazy kodu. Natomiast architektura react-native jest ograniczona w zakresie w jakim kod komunikuje się z protokołami IOT. Dodatkowo w tego typu aplikacjach trzeba często nasłuchiwać na wielu protokołach równocześnie w połączeniu z jakimś api od geolokalizacji lub innym api dodającym metadane do odczytu stanów urządzeń. React-native nie ma pełnej obsługi wielowątkowości i cała komunikacja z modułami natywnymi ma tendencje do zapychania się w jednym module.
Wydaje mi się że decyzja jeśli chodzi o dobór tej technologii react-native dla projektów IOT jest bardzo pochopna. Jeśli firma sobie wyobraża, że to ma być aplikacja zbierająca dane w warunkach przemysłowych gdzie jest dużo zakłóceń, niestabilne połączenie z siecią oraz inne problemy zewnętrzne to mogą się na tym projekcie bardzo mocno przejechać.
Decydując na się na wybór react-native trzeba koniecznie sobie zadać jedno pytanie. Jak bardzo będzie nam potrzebny dostęp do niskopoziomowych api w naszym projekcie. Jeśli odpowiedzieliście, że bardzo w takim wypadku powinniście być bardzo ostrożni jeśli chodzi o react-native!