Steps To Build Your First Mobile App with React Native

What is React Native?

In simple words, React Native is a JavaScript library that is used for the purpose of building and developing UI (User Interface). React Native also known as React JS is maintained by the developer’s community of Facebook.

React Native only uses JavaScript for building mobile applications but because JavaScript uses the same design as React JS. The end result gets a very rich mobile user interface from using these declarative components.

We highly encourage those to also read this React app building tutorial who do not have much experience in JavaScript as it is a brief and easy article that provides some valuable insights regarding building a React Native application. There are so many benefits of using react native for mobile app development, react native is an open-source framework that allows you to develop a mobile application.

Although it’s not a mandatory step, still, we highly recommend creating a couple of sketch designs regarding your app so that you can get some sort of guidance regarding your app’s aim. Creating some sketches is great as you get the rough idea of the app’s flow and it also saves a lot of time.

Install React

The first and the obvious step is to install react, here is the LINK where you can download it from. When it comes to building a React Native application, there are two ways by which it can be done:

a) you can use a toolchain to build the app

Or

b) you can move ahead without using any toolchain.

Our team of experts suggests that it is better to proceed with toolchain as it helps to smoothen out the process of app building. Let’s take an example of an Expo, a toolchain that was turned into the create-react-native-app library that removes many barriers from the front-end development segment.

For today, let’s move ahead without the use of toolchain but don’t worry at the end of this article we will be sharing a few of the most popular reasons why to use React toolchains with you.

Once React is installed starting with the Folder Structure

  • Add a folder in the root and name it ‘app’
  • Now move the App.js file into the root of ‘app’
  • Then update the index.js import statement to ‘import App from ./app/App.js’
  • At last, create folders inside ‘app’

Few terms and their functions that you need to be aware of:

  • Screens: These are known to be our main views.
  • Assets: There two folders in this directory called images and animations.
  • Components: This is the location where you will put all your shared components.
  • Config: You can set up your app’s color scheme in a colors.js file to keep things managed.

Creating an App

Firstly, install it once globally:

$ npm install -g create-react-native-app

# or

$ yarn global add create-react-native-app

You need to make sure to use Node v6 or a version after it with npm v3 or npm v4 version of Yarn. We are not asking you to use the npm v5 because of the bugs issues faced in that npm version.

Then to create an app, run:

$ create-react-native-app my-app

$ cd my-app

After running the above-mentioned line of codes, a directory will be created by the name ‘my-app’ inside the current working directory. This will further generate the initial structure of the project inside ‘my-app’ so go ahead and install all its dependencies.

If you are previous experience with React Native, you will be aware of the fact that you won’t be seeing any ‘android’ or ‘ios’ directories. So once the installation is complete, some commands are to be run in the project directory by you:

1. With npm start

It will run your app in development mode with an interactive prompt and to run it without a prompt, use the ‘ — no-interactive’ flag.

If you want to view it, then open it in the Expo app on your mobile phone to view the file. And it will reload itself if you save edits to your files. With this, you can also see the build errors surfaced and log at the terminal.

2. With npm test

It runs the JEST test runner for your tests.

3. With npm run ios

It’s like npm start, but this also attempts to open your app in the iOS Simulator if you’re on a Mac device or have it installed.

4. With npm run android

Like npm start, this one also attempts to open your app on a connected Android device or even an emulator. But it requires an installation of Android build tools.

5. With npm run eject

It will start the process of ‘ejecting from Create React Native App’s build scripts. And then you’ll be asked a few questions about how you’d like to build your project.

Reasons to Use React Toolchains

Here are the few of the main reasons why you should use React toolchains when building an app with React Native:

  • With toolchains, you can perform live-editing CSS and JavaScript in the development phase.
  • The React toolchains optimize the output for production.
  • By using toolchains, you can easily detect common mistakes in the early stages.
  • The react toolchains support the third-party libraries from the npm versions.
  • Toolchains further help in providing scaling to many components and files.

We hope you liked this short and quick guide on how to build an app using React Native.

--

--

--

Software Developer

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Integrate RightSignature Solution — Part 1 (Authorization)

Create Client API — RightSignature

CSS hover effects with transition

Day 13: Flashing tapped button while user is waiting (with React and Styled Components)

What is React Memo and How to use it

Timing out

Using Postman Pre-request Script to Automatically Set Token

React Basics in Lightspeed

Description of main archives and folders generated by create-react-app

Design a payment API

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
HamidReza Alizadeh

HamidReza Alizadeh

Software Developer

More from Medium

How to setup React Native and create a simple To-Do App

Mobile App Development: React Native vs Native

React Native — Create onboarding screen — Subracker App

Web scraping in React Native