In our opinion, React Native will play a major role in mobile app development in future.
Learn once, write anywhere
Nowadays, shortly after iOS and Android, next platforms are getting React Native support - namely Windows Mobile and tvOS. Web development is also an option (you would normally go with bare React, but if you aim for a single codebase shared across web and mobile apps, then React Native for Web might be an interesting option).
It turns out that Facebook's words „learn once, write anywhere” seem to be true after all.
From the business perspective, the key take-away is that it makes a lot of sense to go with a technology like React Native and have the apps delivered by a single team of full-stack developers, rather than spend lots of money on implementing and maintaining multiple native applications in parallel and hire different teams of engineers who usually specialise in either web, Android or iOS.
Native as with React Native
React (especially combined with flux) has quite a steep learning curve at the very beginning. But once you get past it, you can get really productive with the library. But if you have some experience working with React, then creating your first mobile app with React Native would be a piece of cake. You write your components exactly as you would build UI for web applications. The main difference is that you can actually use the exposed native APIs, and on the other hand, browser APIs are no longer available. Thankfully, the official documentation does a very decent job in making it all clear and comprehensible for developers.
From our experience, React Native suits well for rapid prototyping, but also for developing large and well-established apps.
You are used to your favourite libraries, like Lodash, Redux, MobX or other? Not a problem, these will end up bundled into your native application. Testing your apps couldn’t be easier, too. Mocha, Jasmine, Jest? Piece of cake. Functional tests on emulators or real devices using Appium? No problem. Testing your UI interactions on user events? Bread and butter. Testing business logic? Couldn’t be simpler with all the tools available out there.
Last, but not least, the developer community is just astonishing. With each published npm module, the capabilities of the React & React Native ecosystem grow.
If you are still not convinced, here are just a few examples of mobile apps built on top of React Native: Facebook, Instagram, Walmart, Tesla, Airbnb, Bloomberg, Vogue, Uber, Kontist.