Section 1: Lab: Setting Up Tools on Mac and Windows
- Recommended machine specifications for React Native development
- Install the Node.js LTS release and check versions on the command line
- Install VS Code and the extensions needed for React Native
- Install Android Studio for the emulator and Xcode for the iOS Simulator on macOS
- Lab: check that your machine is ready before starting a project
Section 2: Lab: Creating and Testing Your First Expo App
- An overview of React Native, Expo and the New Architecture
- Create a project with npx create-expo-app@latest and explore its structure
- Run the app on an emulator, a simulator and a real phone through Expo Go
- Expo Go versus a development build, and when to use each
- Lab: edit the first screen and see changes with Fast Refresh
Section 3: React and TypeScript Essentials for React Native
- Components, props and typing data with TypeScript
- useState for data that changes on screen
- useEffect for loading data when a screen opens
- Split components into files and reuse them
- Lab: a product card component that takes props
Section 4: Lab: File-Based Navigation with Expo Router
- What Expo Router is, and the app directory
- Create routes and follow file naming conventions
- The _layout file, the root layout and the stack navigator
- Navigate with Link and router.push
- A not-found screen for routes that do not exist
Section 5: Lab: Tabs, Dynamic Routes and Protected Routes
- The tab navigator and grouping screens with groups
- Dynamic routes such as [id], read with useLocalSearchParams
- Modal screens for short tasks
- Protected routes with Stack.Protected to separate screens that need a login
- Lab: a tabbed shop app with product detail screens