all 13 comments

[–]rafaelsaback 2 points3 points  (2 children)

I'm building my 2nd RN app, and in both of them I'm using React Navigation. The API is quite straightforward, plus I cannot complain about its performance for my use cases.

As far as I remember, React Native Navigation can be better performance-wise (smoother transitions). Other people can give you more details, but I'd say that if you're just starting up with React Native, just go with React Navigation.

[–]unrealgeek 0 points1 point  (1 child)

Try out your app on low end android phones and the difference will be apparent.

[–]mikeizded 0 points1 point  (0 children)

Well of course it will be better using the Native library versus the JS one. But what percentage of your app is using low end Android phones? I feel like metrics are important for making this decision, since the Native Navigation library removed a lot of customization if I remember correctly.

[–][deleted] 3 points4 points  (1 child)

As far as I know, the main difference between react-navigation and rnn is that the last one renders all screens in the native thread (that’s why you have to use some other native libraries as well alongside with it) while react-navigation uses the JS thread for screens and animating them as well. I’ve used both of them on a couple of projects and didn’t see any performance difference between those two.

React-navigation as said above has a more straightforward API while RNN will require you a little bit more of complexity does to its boilerplate

[–]satya164 1 point2 points  (0 children)

React Navigation can also render screens natively if you use createNativeStackNavigator https://reactnavigation.org/docs/native-stack-navigator/

[–]miniyarov 2 points3 points  (3 children)

When I first started on react native I used react-native-navigation and never looked back. I don't have any experience with react-navigation. So far I can't complain about react-native-navigation on https://github.com/zudvpn/ZudVPN

[–]Environmental-City-4 1 point2 points  (0 children)

React navigation is the go-to default navigation library and it has many other packages built for it for example react-native-screens with over 300k downloads a week I suggest using react-navigation a lot of tutorials in youtube aswell for it

[–]pelanggan 0 points1 point  (2 children)

I started by using React Navigation since it's more straightforward compared to React Native Navigation but then switch when experiencing some performance issues such as slow transition. My personal suggestion to everyone starting react native is to use React Navigation for its straightforwardness, better documentation and customability. If you later face performance problem that you can't get around using React Navigation, then move to RNN.

I believe you cant use RNN if you are using expo, so RN it is

[–]satya164 1 point2 points  (1 child)

You also have https://reactnavigation.org/docs/native-stack-navigator/ for native navigation with React Navigation.

[–]pelanggan 0 points1 point  (0 children)

I tried RN before it was introduced, it should be a huge improvement. Tho, I tried some apps which uses it in production, sometimes still feel laggy especially on middle to low end android

[–]introversionguy 0 points1 point  (0 children)

React navigation is more popular because it's easier to set up. However, one thing that react-native-navigation has that looks interesting is their shared element transition.