Skip to main content
CF

The Ultimate React Native Series: Advanced Concepts

5h 28m 42s
English
Paid

Master advanced techniques and best practices for building professional-quality apps with React Native.

Course Overview

By the end of this course, you'll be able to:

  • Build mobile apps with React Native with confidence
  • Develop beautiful user interfaces
  • Create reusable components
  • Write clean, professional-grade code

Course Structure

This comprehensive course is divided into two parts: basics and advanced topics, each approximately 5 hours in length, ensuring easy completion.

Part One: Core Foundations

In the first section, you will gain an understanding of essential React Native skills:

  • Use essential tools for React Native development
  • Structure your React Native projects effectively
  • Run and debug apps with confidence
  • Understand and troubleshoot common errors
  • Work with core components and APIs
  • Create layouts using Flexbox
  • Build and utilize reusable components
  • Apply attractive styles to your components
  • Capture user input efficiently
  • Develop forms with Formik
  • Validate data utilizing Yup
  • Publish your applications using Expo
  • Implement React Native best practices
  • Write clean code like a professional
  • Utilize shortcuts to speed up your coding process

Part Two: Advanced Concepts

Enhance your skills with advanced topics, including:

  • Accessing native device features
  • Implementing navigation with React Navigation
  • Incorporating aesthetic tabs
  • Communicating with REST APIs
  • Uploading images with progress display
  • Building offline-capable apps
  • Caching data and images effectively
  • Implementing authentication and authorization
  • Managing push notifications
  • Logging and monitoring errors
  • Managing configuration settings across different environments
  • Building and distributing your applications

About the Author: Mosh Hamedani (Code with Mosh)

Mosh Hamedani (Code with Mosh) thumbnail

Mosh Hamedani is the founder of Code with Mosh, one of the highest-volume independent online instructors in software education. He has been publishing courses continuously since the early Udemy era and has taught over a million students across his Udemy catalog and his standalone Code with Mosh platform. His teaching style is patient, rigorously structured, and deliberately beginner-tolerant — the courses are widely cited as some of the most accessible introductions to their respective topics.

The Code with Mosh catalog covers an unusually wide span: web development with HTML / CSS / JavaScript / React / Angular / Node.js, Python and Django, C# and .NET, mobile development with React Native and Flutter, SQL and database fundamentals, and the algorithm / data-structure interview prep tracks. Few independent instructors maintain this much breadth at consistent quality.

The CourseFlix listing under this source carries over 35 Code with Mosh courses spanning that range. Material is paid; Code with Mosh runs on per-course pricing on the original platform. Courses are aimed primarily at developers picking up a new technology from a clean start through to working production proficiency.

Watch Online 110 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 110 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: 1- Introduction
All Course Lessons (110)
#Lesson TitleDurationAccess
1
1- Introduction Demo
00:56
2
2- Prerequisites
01:11
3
5- VSCode Code Snippet
01:23
4
1- Introduction
00:29
5
2- Device Features
02:16
6
3- Using ImagePicker
02:13
7
4- Requesting Permissions
05:33
8
5- Permissions Module
01:55
9
6- Accessing the Library
03:14
10
7- Exercises
02:13
11
8- Building ImageInput- Layout
03:57
12
9- Building ImageInput- Touches
05:55
13
10- Building ImageInputList- Basics
06:11
14
11- Building ImageInputList- Scrolling
04:19
15
12- Building FormImagePicker
04:59
16
13- Improving ListingEditScreen
02:34
17
14- Getting the User's Location
04:15
18
15- Building Custom Hooks
03:49
19
1- Introduction
00:33
20
2- Installing React Navigation
02:16
21
3- Stack Navigator
05:21
22
4- Navigating Between Screens
04:15
23
5- Passing Parameters to Routes
01:18
24
6- Setting Screen Titles
01:15
25
7- Customizing Headers
01:55
26
8- Creating a TabNavigator
02:43
27
9- Customizing Tabs
02:51
28
10- Nesting Navigators
01:46
29
11- Exercises
00:35
30
12- Building AuthNavigator
03:27
31
13- Navigation Theme
01:50
32
14- Building AppNavigator
02:01
33
15- Building FeedNavigator
05:09
34
16- Building AccountNavigator
02:50
35
17- Beautifying the Tabs
07:19
36
18- Refactoring Routes
02:01
37
1- Introduction
00:33
38
2- Setting Up the Backend
02:02
39
3- Calling APIs Using ApiSauce
02:56
40
4- Creating an API Layer
02:42
41
5- Fetching Data
03:08
42
6- Inspecting API Calls
02:58
43
7- Handling Errors
03:23
44
8- Simulating a Slow Connection
01:25
45
9- Showing an Activity Indicator
01:49
46
10- Building a Beautiful Activitiy Indicator
05:49
47
11- Creating a Reusable Hook
05:46
48
13- Extending the API Layer
04:12
49
14- Posting Data
03:32
50
15- Tracking Upload Progress
03:50
51
16- Building the Upload Screen
04:07
52
17- Adding a Progress Bar
02:26
53
18- Showing the Done Animation
03:32
54
19- Resetting the Form
04:04
55
1- Introduction
00:35
56
2- Strategies for Building Offline Capable Apps
01:03
57
3- Detecting Network Status
04:04
58
4- Caching
01:17
59
5- AsyncStorage
02:46
60
6- Inspecting AsyncStorage
01:11
61
7- The Cache Layer
02:02
62
8- Implementing a Cache Layer
07:42
63
9- Caching Successful Request Data
04:41
64
10- Caching Images
07:18
65
11- Caching with Redux
03:01
66
12- Storing User Actions When Offline
02:27
67
14- Showing an Offline Notice
05:54
68
1- Introduction
00:25
69
2- Authentication Providers
01:03
70
3- Authentication Flow
02:26
71
4- Authentication API
02:50
72
5- Getting the AuthToken
03:47
73
6- Extracting the User from the AuthToken
04:14
74
7- Storing the Current User
04:05
75
8- Getting the Current User
01:00
76
9- Logging Out the User
01:10
77
10- Persisting the Authentication State Across Restarts
07:59
78
11- Controlling the Splash Screen
03:12
79
12- Refactoring
03:15
80
13- Creating a Custom Hook
06:06
81
14- Calling Protected APIs
03:54
82
15- Exercise
00:59
83
16- Implementing the Registration
03:02
84
17- Showing an Activity Indicator
04:49
85
18- Adding an Overlay
04:29
86
1- Introduction (
00:23
87
2- Push Notification Services
01:19
88
3- Architecture
01:21
89
4- Getting a Push Notification Token
04:04
90
5- Storing the Push Notification Token
02:39
91
6- Sending Test Notifications
01:26
92
7- Sending Notifications on the Server
01:40
93
8- Handling Received Notifications
01:19
94
9- Navigation Upon Receiving a Notification
05:02
95
10- Creating a Custom Hook
02:14
96
11- Local Notifications
02:34
97
13- Building the Contact Form
01:44
98
1- Introduction
00:41
99
2- App Icon
01:14
100
3- Optimizing Assets
01:41
101
4- Optimizing JavaScript Bundle
03:14
102
5- Error Reporting
06:20
103
6- Environment Management
02:57
104
7- Publishing
01:58
105
8- Building Standalone Apps
01:03
106
9- Building the iOS App
05:11
107
10- Distributing to the App Store
04:10
108
11- Building the Android App (
04:20
109
13- Over-the-air Updates
01:31
110
15- Course Wrap Up
00:50
Unlock unlimited learning

Get instant access to all 109 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Related courses

Frequently asked questions

What prerequisites are needed for this course?
Before taking this course, you should have an understanding of JavaScript and some experience with React. Familiarity with basic programming concepts and mobile application development will be beneficial, but not strictly necessary, as the course covers essential tools and foundations in the initial part.
What kind of projects will I build in the course?
Throughout the course, you will work on projects that involve building mobile applications with React Native. You will create reusable components, develop forms with Formik, validate data using Yup, and publish applications via Expo. Advanced projects include accessing native device features, implementing navigation with React Navigation, and communicating with REST APIs.
Who is the target audience for this course?
This course is designed for developers who have some experience with React and want to advance their skills in mobile app development using React Native. It targets those looking to build professional-quality apps, improve their understanding of React Native, and master advanced techniques and best practices.
How does the depth of this course compare to other React Native courses?
The course covers both foundational and advanced topics, providing a balanced depth across essential and complex areas of React Native. It includes core concepts like building interfaces and components, and advanced topics such as accessing device features and implementing complex navigation systems, which may not be covered in beginner-level courses.
What specific tools and platforms will I learn to use?
In this course, you will learn to use essential tools for React Native development, such as Visual Studio Code (VSCode) for editing and debugging. You will work with Expo for application publishing and Formik and Yup for form handling and data validation. Additionally, React Navigation will be used for implementing navigation within apps.
What topics are not covered in this course?
The course does not cover topics outside the scope of React Native development. It focuses on mobile application development, so areas like desktop or web application development with React, backend development beyond setting up basic APIs, or advanced server-side technologies are not included.
How much time should I expect to commit to this course?
The course is structured into two parts, each approximately 5 hours in length. This makes the total runtime around 10 hours. Additional time might be necessary for exercises and applying the concepts to projects. It is advisable to set aside time for practice and implementation beyond the video lessons.