Skip to main content

Introduction to React Native

React Native is an open-source mobile application framework created by Facebook.

Introduction

This framework allows developers to use JavaScript and React to build native mobile applications for iOS and Android platforms.

The key features of React Native include:

  1. Learn once, write anywhere: React Native adopts the philosophy of 'learn once, write anywhere.' This means that developers can develop applications for various platforms such as iOS and Android by learning JavaScript and React just once.

  2. Native Components: React Native enhances the user experience by using native components. This ensures that applications run smoothly and provide the 'feel' of the respective platform.

  3. Live and Hot Reloading: React Native supports live and hot reloading features. This allows developers to modify code and instantly see the results, making the development process faster and more efficient.

  4. Community and Ecosystem: React Native has a robust community and ecosystem. There are numerous third-party libraries and tools available, enabling developers to quickly build applications tailored to their needs.

For these reasons, many companies use React Native for the development of their mobile applications. Notably, this includes major corporations such as Facebook, Instagram, Shopify, Discord, Pinterest, Salesforce, Uber, Skype, and Wix.

Development Environment

The Development Environment section offers methods for setting up development environments for different platforms, along with videos. Similarly, the 'Environment Setup' document on the official React Native website provides concise and useful guidance for setting up a native environment on your computer. However, it's important to note that you should check the 'React Native CLI Quickstart' section instead of the default 'Expo Go Quickstart' section to complete the correct native setup.

dev-env

The author also has a habit of visiting this site every time they purchase a new laptop. It is recommended that you also utilize the above information to set up your development environment.

Components

Next, let's take a look at the components site.

component

Components are elements used to build up the screen in React Native. Some of the typical components provided by React Native include Text, TextInput, Button, ScrollView, FlatList, etc. As you develop, you can add and manage components of your choice on top of the basic components. We call these custom components.

APIs

API stands for 'Application Programming Interface.' In React Native, APIs provide interfaces that allow access to various mobile features and services.

apis

Through this, a React Native app can use features like the smartphone's camera, GPS, push notifications, or communicate data with remote servers, among other tasks. In short, APIs act as a bridge that enables React Native apps to utilize the functionalities of the operating system or external services.

Expo

When discussing the development environment, you might have had questions about the 'Expo Go Quickstart' section. For beginners, let me provide a brief explanation of what Expo is.

apis

Expo is a React Native framework that makes React Native development easier. By using Expo, you can develop for iOS and Android with relatively less knowledge of native programming. Additionally, Expo includes a web development environment with React Native Web. Therefore, starting with Expo enables you to immediately engage in iOS, Android, and Web development concurrently.

Expo has undergone many changes over a long period. If you haven't been consistently tracking the evolution of Expo, you might not be fully aware of its current state. Understanding the history of Expo can be beneficial for its use. Reading this article summarizing the history and current status of Expo will help you understand the direction Expo is heading and make it easier to use.