DEV Community

Cover image for How Do I Start a New React Native App?
Wafa Bergaoui
Wafa Bergaoui

Posted on

How Do I Start a New React Native App?

Introduction

React Native is a powerful framework for building cross-platform mobile applications using JavaScript and React. Whether you're a seasoned developer or a beginner, starting a new React Native project can be both exciting and challenging. This guide will walk you through the essential steps, tools, and best practices to set up your React Native project efficiently and effectively.


Step 1: Setting Up Your Environment

Before diving into coding, ensure your development environment is ready. Follow these steps:

1.1 Install Node.js

React Native requires Node.js for package management. It helps manage dependencies and scripts, making development smoother. Download and install it from Node.js.

1.2 Install a Package Manager

Use either npm (bundled with Node.js) or Yarn (recommended for better dependency management). Install Yarn with the following command:

npm install --global yarn
Enter fullscreen mode Exit fullscreen mode

1.3 Install Expo CLI or React Native CLI

  • Expo CLI: Ideal for beginners. It simplifies development but has limitations like restricted access to certain native modules.
npm install --global expo-cli
Enter fullscreen mode Exit fullscreen mode
  • React Native CLI: Offers more control but requires configuring native modules manually.
npm install --global react-native-cli
Enter fullscreen mode Exit fullscreen mode

1.4 Set Up Your Mobile Development Environment

  • iOS Development: Install Xcode from the Mac App Store.

  • Android Development: Install Android Studio and set up the Android SDK. Ensure you have JDK (Java Development Kit) installed.

Follow the official React Native environment setup guide for detailed instructions.


Step 2: Creating Your Project

2.1 Using Expo CLI

Run the following command to create a new project:

expo init MyReactNativeApp
Enter fullscreen mode Exit fullscreen mode

Follow the prompts to choose a template.

2.2 Using React Native CLI

Run the following command:

npx react-native init MyReactNativeApp
Enter fullscreen mode Exit fullscreen mode

This creates a bare React Native project.


Step 3: Understanding the Project Structure

Once your project is created, you'll see several files and folders:

  • /android and /ios: Native code for Android and iOS platforms.

  • App.js: The entry point of your application.

  • package.json: Manages dependencies and scripts.

  • node_modules/: Contains all installed dependencies.

Familiarize yourself with these components to navigate your project efficiently.


Step 4: Running Your Application

4.1 With Expo

cd MyReactNativeApp
expo start
Enter fullscreen mode Exit fullscreen mode

Scan the QR code with the Expo Go app on your device or open it in an emulator.

4.2 With React Native CLI

For iOS:

cd MyReactNativeApp
npx react-native run-ios
Enter fullscreen mode Exit fullscreen mode

For Android:

npx react-native run-android
Enter fullscreen mode Exit fullscreen mode

Step 5: Adding Essential Libraries

Here are some libraries you might need:

npm install @react-navigation/native react-native-screens react-native-safe-area-context react-native-gesture-handler react-native-reanimated
Enter fullscreen mode Exit fullscreen mode

Step 6: Best Practices

6.1. Follow Component-Based Architecture:
Break down your UI into reusable components. For example, create separate components for buttons, headers, and cards.

6.2. Use a Linter and Formatter:
Install ESLint and Prettier to maintain code quality:

npm install --save-dev eslint prettier
Enter fullscreen mode Exit fullscreen mode

6.3. Write Clean and Modular Code:
Use folders like /components, /screens, and /utils to organize files.

Refer to my article The folder structure of a React Native application for more details about the react native structure.

6.4. Version Control:
Initialize a Git repository and commit your changes frequently.

6.5. Testing:
Use libraries like Jest for unit testing.


Step 7: Preparing for Deployment

  • Android: Generate a signed APK or AAB using Android Studio.

  • iOS: Archive your project and upload it via Xcode to the App Store.

  • Expo: Use expo build commands for simplified builds.

Refer to the official React Native deployment guide for detailed steps.


Conclusion

Starting a React Native project can be straightforward when following the right steps. With a well-set environment, understanding of the project structure, and adherence to best practices, you’ll be building robust mobile applications in no time. Remember to experiment, learn continuously, and enjoy the journey of mobile app development!

Top comments (0)