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

React Native is a framework, built by Facebook, to write mobile apps in JavaScript/React once and then have both iOS and Android native builds ready. Sounds like heaven, because if it is possible to develop an application only once and have it work on both platforms – that means less development time, easier maintenance, lower costs, a flatter learning curve, etc. Many popular apps are built with it – Facebook, Instagram, Airbnb, etc.

The Problem

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.

Use It

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.