React Native — Pros and Cons

June 10, 2016
react native preview

Applications that run in a browser, suffer due to poor performance. React Native solves the problem, that’s why it became so popular.

React Native is cross-platform. It’s like a wrapper around native code, with small nuances works both on iOS and Android. When you use React Native you don’t need to create two different apps for two platforms. 85% of a code is similar for iPhone and Android. All business logic is the same, the rest 15% is what makes it actually look good on the particular platform.

cordova phonegap ionic
All operations between the JavaScript application code and the native platform are performed asynchronously, and the native modules can also make use of additional threads as well. This means we can decode images off of the main thread, save to disk in the background, measure text and compute layouts without blocking the UI, and much more. As a result, React Native apps are naturally fluid and responsive. The communication is also fully serializable, which allows us to leverage Chrome Developer Tools to debug the JavaScript while running the complete app, either in the simulator or on a physical device.

react native
There are different opinions why to use it or not. The main arguments are:

Minuses:

  • React Native was created for iOS first, so it’s more difficult to use for Android;
  • This is a relatively new application, therefore, it doesn’t have lots of additional features;
  • It’s harder to understand how it works comparing, for example, with Cordova. Front-end developer should spend some time learning React Native to use it properly.

Pluses:

  • React Native has much better performance than Cordova;
  • It’s cross-platform;
  • You don’t need to load your app on the device every single time you make some changes. It saves time and nerves;
  • React Native uses multiple cores simultaneously: JavaScript code runs on one core, app view — on the other;
  • It allows iterative testing;
  • Taps, gestures — all processed by platform (not by JavaScript as it is with Cordova)

The last but not the least. t seems that the future is favorable to React Native because customers want more interactive interface of the app, which is difficult to create with another technology.