Mobile Development Basics
Build and run a React Native app on your own phone with Expo: components, navigation, data, storage and device features.
Leads to: Mobile Developer
Before you start
This course builds on React Fundamentals. Take it first if you are new to the topic.
About this course
An intermediate course for learners who already know React and want to build mobile apps. You will compare native and cross-platform development, set up Expo and run your code on your own phone with the free Expo Go app, and learn how React Native's View, Text, Pressable and StyleSheet replace HTML and CSS. The second module covers stack and tab navigation, where state should live, loading remote data into a FlatList with proper loading and error states, and installing a real build on your phone. The last module covers mobile UX (touch targets, thumb reach, safe areas, the keyboard), storing data on the device with an offline outbox queue, and asking for device permissions with a fallback when the user says no. Every lesson has a reading, free videos and a quiz; the JavaScript exercises run in your browser, and the hands-on steps use your own computer and phone. Running apps in Expo Go is free; publishing to the stores needs paid developer accounts (Apple $99 per year, Google Play $25 one-off; checked on 2026-10-23). Prerequisite: React Fundamentals.
Course content
Module 1
React Native Tour
3 lessons · 1h 25mNative versus cross-platform, your Expo setup, and building screens with View, Text and StyleSheet.
- 16mNative vs cross-platformReading
Compare native, cross-platform and web approaches and explain when each one fits.
- 41mSetting up your environmentReading
Create an Expo project and run it on your own phone with Expo Go.
- 28mJSX without HTMLReading
Build screens with View, Text, Pressable and StyleSheet instead of HTML and CSS.
Module 2
Your First Real App
3 lessons · 2h 13mNavigation and state, loading remote data into lists, and installing a build on your phone.
- 47mNavigation and stateReading
Move between screens with a navigation stack and decide where each piece of state lives.
- 36mWire up the screensReading
Load remote data with fetch, handle loading and error states, and render it with FlatList.
- 50mShip to your phoneReading
Give your app an identity and install a real build on your phone.
Module 3
Mobile UX and Device Features
3 lessons · 1h 26mTouch-friendly layouts, local storage and offline queues, and device permissions with fallbacks.
- 17mMobile UX patternsReading
Apply touch-target sizes, thumb reach, safe areas and keyboard handling to a real screen.
- 35mStorage and offlineReading
Persist data on the device and queue changes so the app keeps working offline.
- 34mDevice APIs and permissionsReading
Request a device permission in context and keep the app useful when the user says no.