I decided to use ReactNative to create a client to one of our latest products. So I spend several days reading ReactNative docs and creating prototype apps. Here are my thoughts on ReactNative after living it for about a month.
You can use any NodeJS module that your want with your application.
It's fast and smooth as a real native application in 99% of situation you won't notice the difference.
You can still write native code when you need that. ReactNative provide a nice interface to enhance your application via native code.
As its name suggests ReactNative uses the ReactJS core framework and concepts to develop application. ReactJS itself is a huge win.
- Well it's NodeJS. Some people like it but I don't and specially the npm part is a real pain in the ass.
It's documentation is not good enough. While it can guide you through getting started but It is not enough and lacks so much information. No good API information.
In the time of writing this article ReactNative for android is young so you have to write many parts of your app your self using Java.
ReactNative has a really weird development process. Each pull request will go through to much complexity to be approved. Personally I won't contribute to ReactNative any more. It's too much trouble.
ReactNative community is not a warm and welcoming place for newbies. It's small and cold. People ignores almost every questions. It may be young but I don't see any future for this community. In about a month none of my problems got fixed by community.
I found ReactNative fascinating and awesome. I'm happy with it and I'll use it almost always. But I'll never contribute to ReactNative again. It's not worth the time it took to get your code into main repository.
ReactNative development process showed me why facebook is not a successful company in introducing new technologies to the world.
But in general ReactNative rocks.