React Native

React Native is an open source JavaScript framework for mobile application development. The framework is based on Facebook’s user interface (UI) JavaScript library, React, and can be used to design apps for the web, iOS and Android. The term native refers to an app that is created for a specific operating system, platform or device.

React Native was created out of Facebook’s need to rely less on HTML and more on native code. It was born from a prototype that could generate UI elements from a background JavaScript thread. The first version of the React configuration was released in 2015 and was used to create the Facebook Group and Ads Manager apps.

Implementation of React Native

Applications built in React Native are written in JSX, a combination of JavaScript and XML. Once the code is complete, the framework acts as a bridge that connects native APIs with mobile UI components. Native APIs may be in Objective-C or Swift, for iOS, and Java, for Android. However, since JSX is compatible with both platforms, application code only needs to be written once.

React Native renders applications using a host platform’s APIs rather than with webviews, allowing it to have a consistent look and feel. Because React is separate from the main UI thread, applications maintain high performance without surrendering functionality.

Benefits and weaknesses of React Native

A few benefits of developing with React Native are:

  • A growing Open Source community of developers with lots of documentation and tutorials.
  • Teams save time and money with faster development.
  • Developers can reuse code across channels and platforms.
  • A single database is used for both iOS and Android.
  • Application performance and efficiency is increased.
  • Companies have the ability to hire one developer for multiple projects.
  • The user experience (UX) of a native app is provided using familiar tools.

However, there are a few weaknesses to consider before employing React Native. While the framework is improving with time, it is still relatively new. Developers may need more technical expertise to address any glitches or holes in the framework. Additionally, since React Native adds an extra layer to applications, it may add complication to debugging or troubleshooting processes.

Popularity of React Native

The popularity of React Native has continued to grow within the mobile development space. A few contributing factors for this include:

  • With the single framework, companies do not have to choose between iOS or Android development.
  • There are very few differences between completed apps made with React Native and Objective-C or Java.
  • Companies can avoid the lengthy process of updating, recompiling and redistributing applications to a mobile marketplace that is required with Swift or Java.
  • Its open source nature means updates are continuously made, such as support for new platforms like tvOS, Apple's operating system for its TV digital media player.

Major companies that use React Native for mobile application development include Walmart, Bloomberg, Instagram, SoundCloud, UberEats, Skype and TaskRabbit.


This was last updated in August 2019

Continue Reading About React Native

Dig Deeper on Application development and design

Software Quality
Cloud Computing