React Native "Hello World"
What is React Native?
Setting up the Development Environment
Use React Native CLI
Run a React Native App
What is App.js?
Hot Reloading
AppRegistry
Build your first React Native App
Learn about different UI components
View
ComponentStyleSheet
ObjectText
ComponentCreate a list with
FlatList
Learning Path for React Native
What is React Native?
In a nutshell, React Native allows you to build mobile applications that look, feel and perform much more like native applications. It uses the same fundamental UI building blocks as regular iOS and Android apps. You just put those building blocks together using JavaScript and React. Good thing for developers is that they can use almost the same concepts that are being used for building web applications.
If you are familiar with Reactjs or come from front-end development background, React uses a virtual DOM which acts as a shadow to real DOM available. When an element changes, that change is reflected on the real DOM by Virtual DOM using a node that corresponds to each element.
In simple words, React Native brings the React to mobile app development. Its goal isn’t to write the code once and run it on any platform. The main goal here is to learn once and write-anywhere.
Pre-requisites: Setting Up Development Environment
To dive deeply in React Native’s ecosystem, we need to install a few things first to get started. Let us go through one of them.
Nodejs & Watchman
Watchman is a tool developed by Facebook for watching file changes. It is highly recommended you install it for better performance. For Mac users, You will need thehomebrew
macOS package to install watchman
: brew install watchman
.
For Windows users, there is no watchman
so you can skip this step but you need to have Nodejs as well as python2
as React Native's recent version requires it.
Native SDKs
For macOS developers, you can install Xcode which is free to develop iOS applications.
React Native CLI
Once you are done with the development environment setup process and necessary tools, you can take a deep breath right now. We are going to start building our first REACT NATIVE APP. In order to start, we need one more tool. Using npm
(a package manager, which you installed using Node.js) you are now going to install react-native-cli
. Open your terminal and run the following command.
npm install -g react-native-cli
To verify that the installation process was a success, you can run the command below and it will output you the current version of the CLI tool.
react-native — version ## outputreact-native-cli: 2.0.1
Running a React Native App
To get started we need to create a project directory using the CLI tool just installed. Open up your terminal and run the following.
react-native init Hello-world
You can name it whatever you want. Once the process is done, traverse inside the project directory. You will be welcomed by a set of files like below.
From above let us now take a brief look at the files or directories that are essential for us to understand:
App.js the first file in any React Native app that is the entry point of the app development process. Whatever you write inside this file, it will get displayed on the mobile device.
node_modules/ is a folder which contains all the dependencies (or packages) that are used to develop and run this application.
index.js is the entry point to trigger the app on a device or simulator
ios is the folder containing an Xcode project and the code required to bootstrap this app for iOS devices
android is the folder containing android related code to bootstrap this app for Android devices
package.json where every dependency installed gets listed
You can ignore the other files as of now.
Running the Application
The react-native-cli
tool comes with some default snippets of code. To see it in action, you will have to run the application using a terminal. I am going to use an iOS simulator and an Android emulator for this purpose. Windows developers can ignore the iOS part.
Do note that, we have not made any changes in the source code of the application. To run the app, we need to trigger the below command first.
npm start
This will start the metro bundler to watch for any file changes in a .js
file in your project. Make sure this command is running in a separate terminal window or a tab when you are building your project for iOS
or Android
.
Running on iOS
To run the app with whatever current content it has on an iOS simulator, you can run the following command below in the second terminal window.
react-native run-ios
This command builds your app and starts it on iOS simulator. This process consumes some good amount of time when building the necessary iOS files for the first time for any React Native app. It will also open up a simulator device for you like below when the process is done.
This iOS simulator is the default one with current Xcode version you have. However, you can run any sim device by adding a flag. By running the command:xcrun simctl list devices
you can check out which devices you have available as simulators.
react-native run-ios — simulator=”iPhone 8 Plus”
where "iPhone 8 Plus"
is the value that you can look up through the last command I mentioned.
Running on Android
You will need an Android device to run your React Native Android app. This can be either a physical Android device or more commonly, you can use an Android Virtual Device which allows you to emulate an Android device on your computer.
This is an option for enabling an Android Virtual Device (AVD). If you have just installed Android Studio, you will likely need to create a new AVD. After the virtual device is running, you can run the command react-native run-android
from your terminal window to open up the application.
Last updated
Was this helpful?