What is React Native and how it works

What is React Native and how it works
The Siliconreview
10 September, 2020

React Native is an application development framework created by Facebook. It’s open-source and uses native components instead of web ones. You can use it to develop apps for iOS and Android. It allows native views to be used from all JavaScript libraries and SDKs. 

This framework allows you to build applications through React on a JavaScript base. Using APIs and modules, the JavaScript code is changed into native components such as text, images, and views. For Android and iOS, it turns them into their corresponding native components. This transformation helps developers create an actual native application instead of a web application embedded into a shell one.

How React Native works 

React Native is a connection between the platform and the application. Its bridge system interacts with the React library and transfers the component's hierarchy into the device view. If there are any changes in JavaScript code, it gets changed to a React event, which can interact with corresponding React components in the mobile application. 

It works on two threads, main and native. The main thread handles aspects like UI elements and user gestures. It allows the user to communicate with the application. The second one is the native thread, which executes JavaScript code. It handles the structural and functional parts of the application. This thread runs the code through a JavaScript engine that handles the business part of the application.

These two threads communicate through the bridge rather than interacting directly. The bridge has the following features:

1.   Asynchronous

This ensures that both threads don’t transfer data at the same time. If one thread is transferring the data, the other has to receive it and wait for its turn to transmit.

2.   Batch

This feature ensures that the transfer of data is handled without human interaction and in such a way that the framework uses the available resources in the most efficient way possible.

3.   Serialized

This means data is deconstructed into different data types before transfer. When this deconstructed data reaches its final destination, it is reread as per its serial numbers, and the framework essentially creates a clone of the original data. The platform does this transformation to ensure that both threads don't manipulate the same data.

When you start the application, the thread loads the JavaScript libraries. Once it's done, the main thread then sends the data to another thread to do calculations. When it’s time to render, the framework creates a new DOM (Document object model), and data is sent to a shadow thread. The process is called diffing.

Once that’s done, the shadow thread creates a layout using calculations done in previous steps and sends the data and parameters to the UI thread. Finally, the main thread will generate the final output on the screen for users to see.

For MVP solutions that have a client-server type structure, React Native is a good option. It can also be used for applications with standard UI requirements and even for B2B enterprise applications. For iOS, you need to use react-native run-iOS on your command line. For Android, you can use react-native run-android. It uses TextView and UIView for android and iOS, respectively. 

Advantages of using React Native

There are many advantages of React Native development such as:

1. Native developer view

Instead of writing and testing individual scripts and using functions to call them, you can directly write native code and see how it will look in the final form. Even the look and feel of a native application is better than its alternatives.

2. Cross-platform

It helps in building cross-platform applications. That way, you can save the time and money required to develop and test the application for different platforms. It also uses a chrome debugger tool, making it easy to debug your code.

3. Easy to learn

The code is easily readable, as most of the code is JavaScript. Also, changes to React Native code create changes to your running application, so you don’t have to compile and restart every time there are small changes in your codebase.

4. Ecosystem

It has a very vibrant ecosystem, with libraries and scripts for implementing functions. It also has libraries such as redux that change the state of your application. It can provide features such as reloading and undo/redo.

5. Responsiveness

It has excellent responsiveness and runs at 60 frames per second. That ensures that the application is fast. It also provides better agility and native experience for developers and users.


React Native is a unique open-source JavaScript framework. Its responsiveness, speed, and flexibility make it one of the best platforms for building mobile applications. It’s easy to develop with it, has effortless code sharing, and offers live updates on app stores.

In the future, React architecture will have new updates such as compatibility automation and fabric modules. As per Facebook, it will also support priority queues and turbo modules with live approaches. With chrome debugging and a rich ecosystem, this framework is a must for developers who want to build MVP solutions for enterprises.