React Native Tutorial for Beginners
Tags: reactnative
Published: 2020-02-10 07:47:13

When <b>React Native</b> was revealed to the world, it was greeted with positive reactions. Just like its counterpart React, it also brought a new revolution in the development industry. Traditionally, when we talk about web technologies, the first thing that comes into our mind is Apache Cordova. But that has changed now.

In this article, we are going to discuss from the point of beginners. We will have a look at React's architecture.

React Native is comparatively a new technology. It was released back in 2015, being tested by Facebook internally way before its release. In this modern world, technologies are changing every minute with new tools, frameworks, and packages coming out every day. Because of this, developers have become a bit skeptical these days and don't change their bandwagon only to realize later that they've made a fool of themselves.

<b><h2>Under the Hood</h2></b>

When talking about web technologies on mobile, available solutions usually fall in one of the following categories.

<b>Bundling Mobile Application in a Mobile Web Browser</b>.

The web application lives in a mobile browser, commonly known as WebView. We may need to consider mobile browser events such as tapping or listening to the device orientation changes and a smaller screen for complete user experience, but we have a mobile working at an inferior version with minimal effort.

Among the choices, Cordova is the most popular option in this category. However, in some cases, apps developed using Cordova are slower than native applications, specifically for graphically heavy applications. In other cases, the operating system doesn't provide all the features in the WebView that are available in the web browser.

The user experience can also differ from native applications; this may happen due to the application or the platform itself. This problem may range from scrollbars not feeling the same to have a noticeable delay when tapping on elements.

<b>Compiling to Native technologies</b>

A completely different solution is to create a native database at the end. This happens by transforming source code into another programming language. We trade in native performance for an abstraction layer with some uncertainties. 

In cases of closed-source solutions, we are not even sure what happens under the hood and with what kind of black box we are dealing with. In other cases we are not sure how much the next mobile operating system update will break our code and when fixes or updates will be available.

<b>Using a Javascript layer</b>

React Native could be classified as something from the third category. For the iOS and Android versions, React Native uses JavaScriptCore under the hood, which is the default JavaScript engine on iOS. JavaScriptCore is also the JavaScript engine in Apple’s Safari browsers. OS X and iOS developers can directly interface with it if they want to.

One drastic difference is that React Native runs the JavaScript code in a separate thread, so the user interface does not disrupt and animations should be silky and smooth.

it is mainly used for creating beautiful and elegant UIs for web pages. Due to this, it is trending this year thanks to the large demand for new apps by the users.

In detail, I have explained the need for creating <a href="https://dev.to/thomaswilfred15/why-you-should-create-react-native-apps-in-2020-kb9">react apps in 2020</a>. You can check it out if you want. In the same article, you can learn how to create apps using React Native.

<h2><b>Conclusion</h2></b>

React Native is a brilliant framework to create mobile apps due to its cross-platform abilities. In other words, its code can be used for Android as well as iOS app development. From a beginner's perspective, it is for the better to learn React Native.

I hope the article helped in explaining to you the basic technologies of React Native.