Mobile App Development
Build and publish Android and iOS apps with React Native.
Build real mobile apps with Expo (React Native): screens, navigation, APIs, device features, login, offline support, and publishing to the Play Store, plus how Flutter and native compare.
You will be able to
- Create and run an Expo app on your phone
- Build screens, lists and navigation
- Call APIs and store data on the device
- Use camera, location and notifications
- Publish to the Play Store
- Choose between React Native, Flutter and native
Who it's for
Web developers moving to mobile and beginners who want to ship an app.
Before you start
Basic JavaScript; React basics help
Roles it leads to
Lessons
Module 1
Foundations
Your first app, screens and navigation.
Native, cross-platform and web apps
Compare native, React Native, Flutter and web-based (PWA) apps, and learn how to choose between them by team skills, app needs and budget. Know what Expo is before you start building.
Start an app with Expo (React Native)
Create an Expo app, run it on your own phone with Expo Go, and build a first screen with View, Text and Pressable. Learn how React Native differs from HTML and CSS on the web.
Building screens: layout, styling and lists
Build the Brew & Bean menu screen with flexbox layout, StyleSheet styling, a reusable component, search and category filters, and a FlatList that stays fast with long lists.
Navigation with Expo Router
Add tabs, a stack and a dynamic detail screen to the Brew & Bean app using Expo Router: file-based routes, layouts, route params, Link and router.push, and how deep links work.
Module 2
Real app features
Data, device features, login and offline.
Calling APIs and storing data on the device
Load the Brew & Bean menu from an API with loading, error and refresh states, save a cart on the device with AsyncStorage, and send the order to the server. Learn where each kind of data belongs.
Device features: camera, location and notifications
Add a QR scanner, a distance-to-shop feature and a local notification to the Brew & Bean app with Expo. Learn how permissions work and how to handle refusals, plus what Expo Go can and cannot do.
Login and secure storage
Build a login flow in Expo: a login screen, a token saved in secure storage, routes only signed-in users can open, logout and session restore. Learn why tokens and secrets must never sit in plain storage.
Offline support and performance
Make your app useful on weak or missing networks: detect connectivity, cache data, keep user data in a local database, sync later, and keep lists and images fast on budget Android phones.
Module 3
Ship it
Publish, compare frameworks, add AI.
Flutter in one lesson: how it compares
See what Flutter is, how it renders differently from React Native, how the same screen looks in both, and how to choose between Flutter, React Native and fully native for a real project.
Build and publish to the Play Store
Take an Expo app to the Google Play Store: set the app identity, build an APK and an AAB with EAS Build, test on a real phone, set up Play Console, pass the testing rules and release updates.
Project: expense tracker app
Build Paisa, an offline expense tracker with Expo Router, SQLite, an add form with validation and a monthly summary by category. Then extend it and ship it to your phone.
Adding AI features to a mobile app
Add an AI feature to an Expo app the safe way: a small backend holds the API key, validates the model's reply and limits usage, while the app shows loading, error and result states.
Tools, courses & exams
Hand-picked, free first. Free tiers and exam fees change, so check the provider's page.
Free tools
Expo Go
Expo
A free app for Android and iPhone that loads your Expo project over Wi-Fi, so you can test on a real phone without building anything.
Expo Snack
Expo
Write and run React Native code in the browser with a live phone preview. Good for trying an idea without installing anything.
Android Studio
The official Android IDE. In this track you mostly need it for the Android emulator and for inspecting builds; it needs a reasonably powerful laptop.
Visual Studio Code
Microsoft
A free editor that works well for Expo projects with JavaScript or TypeScript, with a built-in terminal.
Expo Application Services (EAS)
Expo
Cloud service that builds your app for Android and iOS and can submit it to the stores, so you do not need to set up native toolchains yourself.
A free plan with limited builds is available at the time of writing; paid plans give more builds and faster queues. Check the pricing page.
Free courses
Expo tutorial
Expo
A step-by-step official tutorial that builds a small app. A good second project after the first lessons of this track.
Learn JavaScript (javascript.info)
javascript.info
A free, thorough JavaScript tutorial. Read the sections on functions, promises and async/await before the API lesson if those are new to you.
Android Basics with Compose
Google (Android Developers)
Google's free beginner course on native Android with Kotlin and Jetpack Compose. Helpful if you want to understand the native side that React Native sits on.
Official docs
Expo documentation
Expo
The main reference for Expo: setup, Expo Router, every SDK library (camera, location, notifications) and build guides.
Expo Router introduction
Expo
File-based navigation for Expo: layouts, tabs, dynamic routes and deep links. Read this alongside the navigation lesson.
React Native documentation
Meta
Official docs for the core components (View, Text, FlatList, Pressable), styling and platform behaviour.
React Native Directory
React Native community
A searchable list of React Native libraries, with notes on Expo support and maintenance. Check it before adding a package.
Flutter documentation
Official Flutter docs and codelabs. Useful when you compare Flutter with React Native or want to try a second framework.
Google Play Console Help
Official help for publishing on the Play Store: developer account setup, store listing, testing tracks and policy rules.
Communities