React Native - What is it and why should I use it?

in react •  5 years ago 

ReactNativeArticle.png

What is React Native?

React Native is an open source framework that was created by Facebook which allows you to write in JavaScript and seamlessly deploy to IOS, Android, or the web.

This article will outline the different types of mobile apps and explain why you should try using React Native for your next mobile app.

What does ‘Native’ mean?

To understand the benefits of React Native, you must first understand what ‘Native’ means.

Native is a term that is used to describe mobile applications that are designed and built to run on smartphones, using the processing power and hardware that the phone has to offer, while also being written in the scripting language of the phone. In most cases, the applications can also operate without Internet or cellular data (depending on the app's functional requirements).

Different Types of Mobile Apps

There are three different types of mobile apps: native apps, hybrid apps, and web apps. Let's explore each of them to discover their pros and cons.

Native apps:

As mentioned above, a native mobile app is one that is installed on the phone, makes use of the phone’s hardware, and can in most cases operate without the internet.

Web apps:

A couple of benefits of web apps is that they are relatively easy to maintain, they use a common code base across multiple platforms, and updates do not need to go through the App Store approval process. Once the new code is pushed, the newest version always loads. However, as a web app is running through a browser, network access is required. It also means that in order for a user to get the app up and running, more steps are needed. They must first open the browser and then navigate to your site as opposed to just clicking the app icon and having the app load.

Another downfall of having a web app is that it is slower and less responsive. But the final nail in the coffin is that a web app is less discoverable than a native app as it is not listed in any of the app stores.

Hybrid apps:

Hybrid apps, a.k.a. Progressive web apps (PWA), are a cross between web apps and native apps. While PWAs have progressed a lot in the last year, adding functionality like push notifications, improved touch gestures, and access to some device hardware (e.g., vibration), they are still lacking in comparison to a native mobile app. Additionally, they are also currently only compatible with Google Chrome.

App Stats

Hopefully by now you can see the benefit of building a native app rather than a web app or PWA. But just to be sure, let's take a look at some stats regarding mobile phones and apps.

  • By 2020 there will be roughly 6,000,000,000 (6 billion) mobile users.
  • In 2018 there were 194 million app downloads.
  • In 2018 the average mobile user spent three hours a day on their smartphone.

The Olden Days

Before React Native, if a company wanted to have an IOS app, an Android app and a web app/site, they would need to code in each respective environments language, meaning multiple teams working on each language. Not only is this a waste of people power but it would also lead to apps looking and acting slightly differently on each platform.

Present Day

Nowadays, if I want to have a presence across multiple platforms with a unified look and feel that matches my brand while using a single codebase, I would turn to React Native.

If I know React, do I know React Native?

React Native is like React, but it uses native components instead of web components as building blocks. So to understand the basic structure of a React Native app, you need to understand some of the basic React concepts, like JSX, components, state, and props. If you already know React, you still need to learn some React-Native-specific stuff, like the native components. But in general, yes. If you know React, then you know JavaScript, and if you know JavaScript then you know React Native.

Final Thoughts

One of the first things you see if you navigate over to the React Native website is a statement: “Learn once, write anywhere!”. I think this is a fantastic summary, and I find it exciting that by using a language (JavaScript) and framework (React) that I am already familiar with, I can create native mobile apps with relative simplicity.

SOURCES

https://clearbridgemobile.com/mobile-app-development-native-vs-web-vs-hybrid/#Web_vs_Native_vs_Hybrid_Infographic

https://www.insivia.com/what-is-the-difference-between-a-native-mobile-app-vs-web-app/

https://facebook.github.io/react-native/

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Congratulations @digitalm0nkey! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 2 years!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

You can upvote this notification to help all Steem users. Learn how here!