Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
React Native: Build Powerful Cross-Platform Mobile Apps
Rating: 2.1 out of 5(4 ratings)
1,526 students

React Native: Build Powerful Cross-Platform Mobile Apps

Architect and develop engaging mobile apps for iOS and Android using React Native, master core concepts, best practices.
Created byUplatz Training
Last updated 2/2025
English

What you'll learn

  • Understand the React Native ecosystem: Grasp the fundamentals of React Native, its advantages, and how it compares to other mobile development frameworks.
  • Set up a development environment: Confidently install and configure the necessary tools (Expo, Android Studio) for React Native development.
  • Master core React Native components: Utilize essential components like Text, Image, TextInput, Button, ScrollView, and FlatList to build user interfaces.
  • Implement navigation and data passing: Structure multi-screen applications using React Navigation and seamlessly pass data between screens.
  • Manage application state: Learn to manage complex application state using both React Hooks (like useState) and Redux.
  • Fetch and persist data: Retrieve data from APIs using Fetch or Axios and store data locally with AsyncStorage.
  • Style React Native applications: Apply styling techniques, including inline styles, StyleSheet API, and styled-components, to create visually appealing apps.
  • Implement animations & gestures: Bring apps to life by adding animations and incorporating gesture handling using the Animated API and react-native-reanimated.
  • Access device features: Utilize device APIs to integrate functionalities like camera access, location tracking, and sensor data into applications.
  • Incorporate push notifications: Learn to integrate push notifications into React Native apps using Expo's notification services.
  • Build and deploy applications: Gain the skills to build, sign, and publish React Native apps on both the Google Play Store and Apple App Store.
  • Extend React Native with native code: Learn when & how to integrate native code (iOS & Android) to extend React Native's capabilities for many functionalities.

Course content

57 sections56 lectures19h 13m total length
  • Introduction to React Native36:37

    Introduction of React Native. Brief description of other similar products.

Requirements

  • Enthusiasm and determination to make your mark on the world!

Description

A warm welcome to the React Native: Build Powerful Cross-Platform Mobile Apps course by Uplatz.


React Native is an open-source framework developed by Facebook that allows developers to build mobile applications using JavaScript and React. It enables the creation of native-like mobile apps for both iOS and Android platforms using a single codebase. Instead of compiling into web components, React Native components directly compile into native mobile UI elements, providing high performance and a seamless user experience.


How React Native Works

React Native is a popular framework for building cross-platform mobile apps using JavaScript. Let's take a deep-dive into how it works:


1. JavaScript and Native Code

  • React Native allows you to write the logic of your app using JavaScript, while the user interface is rendered using native components. This means your app looks and feels like a native app, even though it's built with JavaScript.

2. The Bridge

  • React Native utilizes a "bridge" to connect your JavaScript code with the native code of the target platform (iOS or Android). This bridge facilitates communication between the two, allowing JavaScript to access native APIs and UI elements.

3. Threads

  • Main Thread: This is the primary thread responsible for handling user interface updates and interactions.

  • JavaScript Thread: This thread executes your JavaScript code, managing the application's logic and state.

  • Shadow Thread: This thread calculates the layout of the UI using Yoga, a layout engine that translates Flexbox layouts into native layouts.

  • Native Modules Thread: This thread provides access to platform-specific APIs, such as camera, location, and sensors.

4. UI Rendering

  • When you write UI code in React Native using JSX (a syntax extension to JavaScript), it's not directly translated into HTML like in React web development. Instead, React Native maps your JSX components to their corresponding native UI components on the platform. This ensures a native look and feel.

5. Communication Flow

  • When a user interacts with the app, the main thread sends an event to the JavaScript thread via the bridge.

  • The JavaScript thread processes the event and updates the application's state.

  • These updates are then sent back to the main thread, which re-renders the UI with the new changes.


Imagine you have two people speaking different languages who need to communicate. The bridge acts as a translator, allowing them to understand each other. In React Native, the bridge translates JavaScript instructions into native code that the mobile device can understand, and vice versa.

This architecture allows React Native to provide a truly native experience while leveraging the flexibility and efficiency of JavaScript development.


Key Features of React Native


  1. Cross-Platform Development – Write one codebase that works across both iOS and Android.

  2. Native Performance – Uses native components for rendering, ensuring near-native performance.

  3. Hot Reloading – Allows developers to see changes in real time without restarting the application.

  4. Reusable Components – Leverages reusable UI components to build apps efficiently and reduce development time.

  5. Large Ecosystem – Supports third-party libraries and has a rich ecosystem of plugins and tools.

  6. Active Community – Backed by a strong developer community and maintained by Facebook, ensuring constant improvements.


Why is it Beneficial to Learn React Native?


  • Efficiency - By developing for both platforms with one codebase, it reduces development time and cost.

  • High Demand - Companies are increasingly adopting React Native due to its versatility, making it a valuable skill in the job market.

  • Scalability - React Native's architecture makes it easy to scale apps, from simple projects to complex mobile applications.

  • Growing Ecosystem - The framework continues to evolve with a strong community and vast resources, ensuring support for both new and experienced developers.

  • Native-like Experience - Provides the performance and user experience of native apps, making it a top choice for cross-platform development.


React Native - Course Curriculum


1. Introduction to React Native

  • Overview of React Native and comparison with other mobile frameworks.

2. Getting Started with React Native

  • Installing Expo and creating your first React Native app.

3. Mobile Development Basics

  • Understanding the mobile app development lifecycle.

4. Native vs React Native

  • Pros and cons of native app development vs React Native.

5. Setting Up Android Studio

  • Download and install Android Studio and set up a virtual device.

6. Styling in React Native

  • Exploring different styling techniques for React Native apps.

7. Core Components: Text, Image, and Input

  • Learn to use the Text, Image, and TextInput components in React Native.

8. Managing State with Hooks

  • Introduction to state management using the useState hook.

9. Working with Buttons and Touch Events

  • Learn to implement interactive buttons and touch gestures.

10. Scrollable Views

  • Implementing ScrollView, FlatList, and SectionList.

11. Building a To-Do List App

  • Create a simple To-Do List app using FlatList and styles.

12. React Navigation

  • Implementing navigation using React Navigation with stack and tab navigators.

13. Passing Data Between Screens

  • Learn how to pass data across different app screens.

14. Handling Navigation States

  • Managing navigation state in complex apps.

15. Working with Nested Navigators

  • Using nested navigators in a multi-screen app.

16. Customizing Navigation

  • Customizing headers and navigation options for a unique app feel.

17. State Management with Redux

  • Introduction to Redux and its use in React Native for state management.

18. Fetching Data from APIs

  • Using Axios or Fetch to retrieve data from external APIs.

19. Persisting Data with AsyncStorage

  • Learn to persist data locally using AsyncStorage.

20. Building Data-Driven Apps with Redux

  • Building scalable apps driven by Redux and Context API.

21. Advanced Styling with Styled-Components

  • Setting up and creating reusable styled components.

22. Animations in React Native

  • Introduction to animations using the Animated API, including fade, scale, and translate animations.

23. Handling Gestures

  • Implement complex animations and gestures using react-native-reanimated.

24. Working with Device APIs

  • Access device features like the camera, location, accelerometer, and gyroscope.

25. Push Notifications with Expo

  • Learn to set up and handle push notifications in React Native apps.

26. Playing and Recording Media

  • Working with audio and video files, and recording media in React Native.

27. SQLite and Local Databases

  • Learn to create and manage local databases using SQLite.

28. User Authentication

  • Implement login, logout, and user authentication in React Native apps.

29. Optimizing Performance

  • Techniques for improving app performance and profiling with Expo.

30. Building and Deploying Apps

  • Steps to build, sign, and publish your React Native app to Google Play and the App Store.

31. Ejecting from Expo

  • When and why to eject from Expo to the bare workflow.

32. Native Code Integration

  • Working with native code in React Native for both iOS and Android.

Who this course is for:

  • Beginner to intermediate programmers: Individuals with some basic programming knowledge, especially in JavaScript, who want to learn mobile app development.
  • Mobile app developers: Those experienced in native mobile development (iOS or Android) who want to learn a cross-platform framework.
  • Web developers with React experience: Developers familiar with React who want to leverage their skills to build mobile apps.
  • Front-end engineers: Expanding skillset to include mobile app development with React Native.
  • Full-stack engineers: Adding cross-platform mobile development to their repertoire for end-to-end project ownership.
  • Entrepreneurs and business owners: Individuals with app ideas who want to learn how to build their own apps.
  • Anyone aspiring for a career in mobile app development
  • Students and those looking to upskill: Anyone interested in expanding their skillset and entering the mobile app development field.
  • UI/UX designers: Gaining a better understanding of the technical implementation of their designs in a React Native environment.
  • QA engineers: Learning React Native to better understand the framework and write more effective tests.