What is React Native

What is React Native

Short introduction about what is React Native

React Native is an open-source mobile application framework created by Facebook, It is used to develop applications for Android, Android TV, iOS, macOS, tvOS, Web, Windows and UWP by enabling developers to use React along with native platform capabilities.

The working principles of React Native are virtually identical to React except that React Native does not manipulate the DOM via the Virtual DOM.

It runs in a background process (which interprets the JavaScript written by the developers) directly on the end-device and communicates with the native platform via a serialization, asynchronous and batched Bridge.

React components wrap existing native code and interact with native APIs via React’s declarative UI paradigm and JavaScript. This enables native app development for whole new teams of developers, and can let existing native teams work much faster.

React Native does not use HTML. Instead, messages from the JavaScript thread are used to manipulate native views. React Native also allows developers to write native code in languages such as Java for Android and Objective-C or Swift for iOS which make it even more flexible.

For developing android apps, you need to learn either Kotlin or Java and for developing iOS apps, you need to learn either Swift or Objective-C. So, a minimum of two languages you should be familiar before starting to develop apps for Android and iOS.

Also, the development IDEs are totally different. iOS is developed using XCode and Android using Android Studio. One more problem is to maintain two code base. If you are making one change in one code base, you need to make it in the other codebase. Even for a small UI change, you need to do it separately.

React Native was started to make all of these things easier for the developers. “React”-“Native”: It uses react based component structure to create “Native” applications. You will write only one code and it will run on both, Android and iOS. Unlike other cross-platform frameworks like ionic, PhoneGap etc, it doesn’t use a web view to render.

If you already know React, then learning react native will be easier for you.

Following are the main differences between React Native and ReactJs :

React Native is used to create mobile applications but ReactJs is used to create web applications that run in a web browser. You can use CSS frameworks like bootstrap in ReactJs but you can’t use any CSS frameworks in React Native For adding animation, you can use CSS animation in ReactJs but in react-native, you need to use its own API You need a real android or iOS device to test react-native applications. On ReactJs, you need one browser to test.

image.png

Why React Native

image.png

Top React Native users

image.png