The never ending debate; Is React Native bad?

Our knowledge base for software, electronics and everything in between

Hybrid mobile app programmings became famous in the past decade, the promise is interesting, write code once and deliver it to different platforms. More specifically here I want to focus on mobile app platforms. Basic idea of this principle is, you write your code in a middleware language (such as JavaScript mostly) and then with some functionality underneath, it would work on IOS and Android devices.

First, what is a native app?

A native app, is a term refers to a software, which has been coded using the original tools and programming language which the platform intented to be used, most often directly on the processor.

Assuming IOS, the native solution which comes from Apple itself is either Swift or Objective C. Apps, written in these two languages are being considered Native for IOS Platforms. Very similar principle is applied for Java on Android devices, as well as C/C++ for Intel processors.

Why hybrid apps became popular?

Due to several reasons, such as cost of developing for multiple platforms, difficulity of learning native languages, other 'alternatives' came into play, for example to use web development knowledge to build some kind of apps, which could cover a lot of use cases, if not all. Most of mobile apps, are few views, maybe taking user location and access to camera, without much of processing need, therefor hybrid apps been used where there was no complexity, and at the same time, web developers.

Differences between Xamarin, React Native, Ionic, Cordova

All of these, are hybrid frameworks. Ionic, cordova are based on the web, React Native has it's own solution to solve the web view performance, and Xamarin is written in C#.

Between native development, and React Native, which is a better option?

I do React Native myself, for all clients. Simply, React Native can serve 95% needs of clients. The performance issues, animations, and other minor performance glitches could be solved with a bit of time investment, and most of them are neglectable.

Obviously, if you are having a large sum of captial to invest on a huge corporation app, or your app is all you do, like Uber, Whats App, Instagram, you need to consider Native development first.

For rest of clients, which consists 99% of them, I advice the React Native. It provides fast UI interactions, and it's quite productive in the long run in comparison with investing both on Android and IOS.

Good React Native app is better than Bad Native app

It really also depends on your team which builds the app, and many other factors. If you backend is slow, it would not matter that much if 200ms will be saved upon the app start in the first place.

If someone builds a React Native app good, it's far better than a bad team which wrote it natively, but poorly.