It’s funny that I am writing this article with only 1-2 days of React Native experience. But this is not a technical article, but just my thoughts and conclusions after playing short time with it and some discussion with my colleagues Pawel and Kelvin from X-Team.
What is React Native
BUT! Native applications are, still, simply more powerful and React Native can’t do everything native apps can do. If you are building 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 simple app or if you are building complex app, but you or your team have all React Native, iOS and Android knowledge, then it’s good idea to use React Native, because you can have 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 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 when 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 Android and iOS experiences first. Reality is still: for real life, complex applications both Android and iOS knowledge are necessary.