You won’t find here anything about how cool guys like Facebook, Netflix, and Airbnb benefited from React Native
Damn close to native performance. Unlike other cross-platform options, like Cordova, Ionic or Titanium that emulate browser app (it’s like having a simulated responsive web app in app market), React Native runs native APIs. There are no tap and scrolling issues, and UI feels like a native app, not browser based.
There are tons of other UI-tool kits and libraries that help you handle performance challenges during the development stages just like in any other mature framework. And as always, you’ll only have to make sure that the library bundles you’re gonna use are frequently updated + don’t forget to study the backlog of existing issues for them.
Huge community. It’s all about developers’ happiness. When a developer cannot handle bugs through googling, the community comes to help. It means that anyone may open an issue on Github — and some magic happens — there’s a ready-to-use solution from someone who’s already faced the same problem before. The happier the devs are, the e̶a̶s̶i̶e̶r̶ ̶y̶o̶u̶r̶ ̶l̶i̶f̶e̶ ̶i̶s̶ smoother the project development goes.
That’s all fine and dandy, but if I focused solely on superpowers, I would be like a door-to-door salesman. A salesman who sells shit and tries to convince you it’s sweet.
You’d better off see things from all angles. React Native is in no way perfect
Immature framework. It’s not version 1.0.0 yet, so there are plenty of missing components and constant updates. For a developer, it means spending much time and efforts to find already-made solutions and incorporate new releases. As for custom stuff (super unique features), he would have to build them on his own and might need Swift and Java experience.
Works poorly with complex animations. Here a dev most likely needs to dig into the native code. Doubt that for MVPs it’s the main concern though.
Not made for 3D games. Or something that requires physics and heavy graphics, so here you would also have to rely on native mobile app devs.
So, what’s the verdict, guys?
The choice actually depends on the specifics of your future app. To summarize the above, you can opt for React Native when:
You need an MVP. Say, you wanna start out with just a fancy prototype that lets you test the concept for both platforms and collect initial feedback. For cheap and as quick as possible.
You need a social app. The framework is suitable for features like camera access, fingerprint, geolocation, and maps.
There’s nothing about animation-intensive apps. I mean that React Native isn’t the smartest option in this case. It gives you the ability to implement nice UX animations, but when it comes to some outrage things like the animation for zoom in/out of 10000 objects on a single screen, you’d better stick to truly native way. On the other hand, if your app has only UX interactions and transitions between screens — this framework is a solid option.