Jest wydajność, i jest wydajność. Kilka tygodni z React Native rozczarowało mnie gorzko, boleśnie i na wielu poziomach. Lepiej rzeźbiło się w Xamarinie trzy lata temu (inna sprawa, że rozwój tej platformy w międzyczasie trochę zdaje się zamarł).
W Reakcie wciąż tajemnicze błędy konfiguracyjne, co drugi upgrade wywala builda, przez pół dnia guglowanie przyczyn różnych tajemniczych zjawisk, aż znajdujemy zbawienne wyjaśnienie w rodzaju: "no tak, jeśli jest TypeScript i używasz skróconej notacji dla lambd w pliku który ma ponad 150 linii, to breakpointy mogą nie działać" :) Wsparcie dla testowania też jest w takim stanie, że można osiwieć.
Co się czegoś nie dotknę, to nie działa, albo zawodzi w jakichś duperelach. Chcesz dodać możliwość share'owania obrazka? No fajnie - to się okazuje, że API React Native przewiduje możliwość udostępnienia pliku przez url
(albo jako base64) tylko dla iOS. Na Androida możesz sobie zshare'ować tylko tekstowy komunikat. Vide: https://facebook.github.io/react-native/docs/share - a przypominam, ta platforma ma już 5 lat.
Żeby mimo wszystko zshare'ować plik, musisz dodać osobną bibliotekę (utrzymywaną przez społeczność) pt. react-native-share. I oczywiście znowu potknięcia, bo po "automatycznej instalacji" tego pakietu React w ścieżce dodanej do settings.gradle
użyje ukośników wstecznych, zamiast normalnych, bez żadnych znaków ucieczkowych. I build się wychrzania, i trzeba to ręcznie poprawiać. I tak przez cały czas, wszędzie jakieś niedoróbki. Oczywiście natywne platformy też nie są od nich wolne, ale jednak nie wpada się na nie co krok, i to przy robieniu najprostszych rzeczy. Tu poziom stabilności oceniłbym jako alfę, i to taką bez szału.
Tak że wrażenie, jak to wrażenie - subiektywne... jednak dla mnie jedna z najmniej przyjemnych platform, z jakimi się dotąd zetknąłem. Jak zaznaczyłem, wypuszczona 5 lat temu - a odczucie jest takie, jakby miała 5 miesięcy. No, może wtedy przynajmniej nie byłoby tony nieaktualnych tutoriali i artykułów zalegających w necie. Bo zmiany rozwojowe były na tyle burzliwe, że przed zapoznaniem się z jakimś materiałem warto krytycznie zerknąć nie tylko na rok, ale i miesiąc publikacji.
Flutter jest na górze mojej listy technologii do sprawdzenia. Na początek wygląda obiecująco (w każdym razie względem RN) pod dwoma względami: a) Dart, chociaż to nie Kotlin, jest jednak sympatyczniejszym językiem niż JS, b) oficjalna dokumentacja wydaje się porządniejsza i bardziej dogłębna.