React Native: Helping Mobile Developers Build Apps Faster with Javascript

technology 1283624 480

At its core, React Native is a framework that helps mobile developers build apps faster and more efficiently with JavaScript. It is made up of a “virtual DOM” and “native bridge” that renders JavaScript code called JSX in the native application’s view hierarchy. This allows for full interaction with native APIs and frameworks like UIKit, Android’s Activity/Fragment lifecycle, and more without rewriting any of them from scratch as you would have to do with other cross-platform frameworks such as Cordova or Xamarin. 

Beyond native iOS or Android development

For users who want to take their app beyond native iOS or Android development, sources from says, React Native can also be used as a standalone SDK for cross-platform development in XCode or Visual Studio Code respectively. Because of this, it’s possible to build fully native apps that both look and feel like pure natively built programs.

Native app developers have long used abstraction layers to interact with the device hardware in order to provide a smoother user experience. For instance, Android developers can use libraries like Android Layouts to quickly construct user interfaces via XML files rather than writing the UI code from scratch. React Native could be considered similar in concept to Java layouts, except for mobile web apps.

How it works

React Native uses a JavaScript API on top of native components and APIs so that those components can communicate between each other as though they were on the same platform. To accomplish this, the React component tree is compiled to native code for each platform by the Babel JavaScript compiler. It then uses a native bridge to communicate between JS and native components. This allows you to use the same logic and components on both platforms with no additional effort required.

This diagram illustrates how React Native works:

React Native applications work by translating your JavaScript and React views into real native components that run directly on their respective operating systems. Those views can then communicate with one another as if they were truly part of the same app’s view hierarchy despite actually running in separate processes.

If you’re already familiar with JavaScript frameworks such as Backbone.js or Angular.js, all of the concepts in React Native should seem very familiar. The main difference is that components in React Native get their own state and behavior from a child component tree instead of inheriting from a view. This is similar to how Backbone or Angular components are structured.

Using React Native, it’s almost as easy to create mobile apps as it would be to write an app for any other platform. It makes use of the same HTML, CSS, and JavaScript that you already know and love for web apps that can then be easily adapted into native mobile apps.

Getting started

Before you begin working with React Native, you need to have Node installed on your machine. This is used by the React Native JavaScript code instead of using a web server like Express or Webpack. You also need to install Android Studio 3.0+. To get started, launch Android Studio and create a new project. Then add the following packages:

react-native: This is used to create React Native projects. You can also use other native UI frameworks such as Appcelerator’s Titanium or Ionic just like you would on any other platform android app development.

react: This package contains the React library and associated npm modules, and is required to build and run project components using React Native. It also includes error handling and building tools for development with React Native.


This package allows you to serialize your app’s view hierarchy (including components) into a native binary format, which can be shared between different devices (e.g. a server and a phone) on a single project. This allows you to reuse components by sharing them across platforms. This is useful for testing, versioning, and sharing across different platforms.

react-native-scripts: Provides a set of tools to help you compile and bundle your application along with a downloadable debug version. It can also serve up a live page for testing.

react-native-cli: This allows you to create new React Native projects from the command line with pre-built starter code and perform common cross platform development tasks such as compiling, packaging, compiling pre-built app bundles, building native apps from an IDE, and importing JavaScript modules.


If you’re already familiar with React from working with web applications or other mobile frameworks such as Ionic or Titanium then working with React Native should seem very familiar. The main difference is that it uses native components, but the structure is very similar.

After installing all of your dependencies, you can then run npm start from within the root of the project to confirm that everything has been installed correctly. Once that’s complete, you can then run Android Studio and create a new React Native app by selecting New Project… | Next on the welcome screen. Then select Create New Project with no starter activity and confirm on the next screen. Enter in a package name for your project (e.g. react-native-tutorial) and confirm by pressing OK.


This is a package that provides a version of Webpack for React Native. It allows you to use the same tools as you would on your web development projects, such as sourcemaps and live reloading, which allow you to easily manage your JavaScript assets from one project.


Please enter your comment!
Please enter your name here