freeCodeCamp/guide/english/react-native/index.md

3.4 KiB
Raw Blame History

title
React Native

React Native

React Native is a cross-platform framework for building mobile applications that can run outside of the browsermost commonly iOS and Android applications

It can be used to build applications on Windows devices, desktop OSs, and Apple TV apps as well but this guide will only be covering its most common purposeAndroid and iOS applications.

Table of Contents

What is React Native

React Native falls in-between native and hybrid applications on the mobile app spectrum. The user interface you create is entirely native and the overall application performance is nearly as good as writing a native app. It also gives you the flexibility to embed web views (webpages) or native code (Java/Kotlin for Android, Objective C/Swift for iOS) inside your applications wherever you want.

It follows the same pattern as React where the views (what you see on the screen) are rendered from the JavaScript files. The difference is that it supplies its own API for handling native mobile views vs the DOM on the web. If you are confused about how this works, follow this guide on freeCodeCamp and it will take you step by step through these concepts.

Reasons to choose React Native

  1. Code reusabilityIt uses one code based that is shared between both platforms.
  2. Reuse web tools and skillsReuse JavaScript knowledge, tools and utilities like axios, Redux, and other libraries that dont require the DOM from the web.
  3. Optimized for developer productivityComes with features like hot/live module reloading and chrome developer tools for debugging out of the box!
  4. PerformancePerforms better than hybrid application frameworks like Ionic and Cordova since it is not using web views.
  5. Corporate backingLots of companies support and contribute to React Native including Walmart, Airbnb, Wix, and, of course, Facebook.
  6. CommunityReact Native has a large (and growing) community with over 1500 contributors to the core project and thousands more who contribute to various libraries.
  7. Better user experienceReact Native uses the JavaScript code to render native components from your phone's OS. In other words, the application's user interface (UI) is entirely native!
  8. Cross-Platform - Great way to prototype and save time while building either a universal user interface or platform specific mobile application that can run on both iOS and Android devices.

How to Get Started with React Native

There are three quick easy ways to get started with React Native. Depending on your situation, one can be a better option for you.

  1. Create React Native App- Similar to Create React App it get up in running using the terminal.
  2. Expo - Best for prototyping an app or if it is earlier stage. Using Expo you can even create an quick app using drag and drop features from snack.expo.io in the broswer.
  3. Ignite CLI - Empowers devleopers to easily create a new React Native app with plug ins. Ignite CLI also enables developers to easily setup best practices.