Decide if React Native is for you.
It’s funny that I am writing this article with only 1-2 days of React Native experience. However, this is not a technical article; it's just my thoughts and conclusions after briefly playing with it and some discussion with my colleagues.
What is React Native
Native applications are still simply more powerful and React Native can’t do everything native apps can do. If you are building a TODO app for learning purposes, everything will be fine with React Native, but as soon as your real-world app grows you will come to the point where React Native can’t do what you want. Then, you will have to switch to native Android and iOS code to implement that piece of functionality.
If you are building a simple app, or if you are building a complex app but you or your team have React Native, iOS, and Android knowledge, then it’s a good idea to use React Native, because you can have the majority of your code in React and just switch to native code when needed. Having in mind that React Native is evolving, this is good in the long run as it is very likely that after some time, almost all of your code will be in React Native, as it develops.
Don’t Use It
If you want to build a complex app for both Android and iOS, but you don’t have knowledge of all three technologies, there is no sense to go this way, because you will come to the point where you have to switch to native code, and you don’t have that knowledge/resource.
There is no single answer to this question; it depends on the context 🙂 I am sure React Native is a good thing for big projects where there are React Native, iOS, and Android developers. But for me, personally, it still doesn’t make sense to dive more deeply into it, without acquiring Android and iOS experience first. For now, in complex real-life applications, both Android and iOS knowledge are necessary.