React Native Course: Build Mobile Apps with Expo
Mobile Apps with React Native is an intermediate-level course of 5 lessons (about 1 h 30 min), with 15 exercises and 15 quiz questions. Prerequisites: React. The course needs a full project environment, planned for a later phase of the platform.
- Mobile
- Intermediate
- 5 lessons
- 1 h 30 min
- 15 exercises
- Full project environment (phase 2)
The course in brief
This course teaches you how to turn your React skills into native mobile apps for iOS and Android with React Native and Expo. You will build screens with native components, organize navigation with Expo Router, load and store data with offline mode in mind, access phone features while respecting permissions, and then prepare for publication. The app's logic is tested automatically in JavaScript and the screens are built in guided tasks.
What you will be able to do
- Build mobile screens with native components, StyleSheet and Flexbox
- Organize stack and tab navigation with Expo Router and display performant lists
- Load remote data, cache it locally and handle offline mode
- Store preferences and secrets with the right mechanism (AsyncStorage, SecureStore)
- Access location, photos and notifications while handling permissions and denials
- Configure, build and prepare an app for publication with EAS
Syllabus: 5 lessons
- Create a React Native project with Expo and run it on a phone or an emulator
- Build a screen with the native components View, Text, Image, TextInput and Pressable
- Lay out a screen with StyleSheet and Flexbox, accounting for the differences from web CSS
- 03
Networking, Local Storage and Offline Mode
- Call an API with fetch, handling loading, errors and cancellation
- Store data locally with AsyncStorage and secrets with SecureStore
- Design offline behavior: local cache and a queue of deferred sends
- 04
Accessing the Phone: Permissions, Location, Photos, Notifications
- Request a permission at the right time and handle every possible response
- Use location, the gallery or the camera with Expo modules
- Adapt behavior per platform and open settings or other apps
- 05
Preparing and Publishing the App
- Configure the app's identity: name, identifiers, icon, version and build number
- Produce test and production builds with EAS Build and profiles
- Know the principles of publishing and updating on app stores
Final project
Mobile Shop App with Offline Mode
Build a shop app with React Native and Expo: Catalog and Account tabs, a product list in a FlatList with refresh, a product page by identifier, a persistent cart, a catalog displayed from the offline cache, the authentication token in SecureStore, a nearest-shop search with complete permission handling, and an installable test build produced with EAS.
Deliverables
- The Expo project's source code (src/app/, src/components/, src/lib/)
- The pure functions (navigation stack, cache, offline queue, permissions, version) with their tests
- The app.json or app.config.ts file and eas.json with the profiles
- An installable preview build (EAS link or APK)
- A short publication sheet: description, collected data, justification of permissions
- A README explaining the architecture and the offline behavior
Assessment criteria
- Screens faithful to mobile conventions (safe areas, back navigation, sufficient touch targets, accessibility)
- Performant lists and consistent navigation (push, replace, tabs)
- Data displayed offline and sends not lost
- Secrets in SecureStore and no secret key in the code
- Permissions requested in context, with a fallback on refusal
- Correct publication configuration (identifier, version, build number)
Frequently asked questions
Do I need to know React to take this course?
Yes. The React course is the prerequisite: components, props, state, effects and hooks are reused as-is in React Native. This course focuses on what changes on mobile.
Do I need a Mac to develop an iOS app?
To learn, no: the Expo Go app lets you test on an iPhone, and EAS Build can compile the iOS app in the cloud. The iOS simulator, however, requires a Mac.
Why use Expo?
Expo is the framework recommended by the React Native documentation to get started: it simplifies project creation, testing on a phone, access to native features and building.
Does the course explain how to publish to the app stores?
It covers the principles: app identity, versions, signing, test and production builds, review rules and updates. Account procedures and store terms should be checked with Apple and Google.
This course, told for your job
Say what you want to be able to do: “Mobile Apps with React Native” takes its place in your path, with examples from your field. The concepts stay those of the course.