Expo is a full-stack React Native framework that accelerates mobile app development for iOS, Android, and web from a single codebase. Built on React Native, it provides developer tooling, cloud services (EAS - Expo Application Services), and a comprehensive SDK of native modules that eliminate much of the native configuration complexity. The key mental model: Expo uses Continuous Native Generation (CNG) to treat native folders as build artifacts, letting you configure everything through JavaScript and config files while still supporting custom native code when needed.
What This Cheat Sheet Covers
This topic spans 15 focused tables and 126 indexed concepts. Below is a complete table-by-table outline of this topic, spanning foundational concepts through advanced details.
Table 1: Core Workflow Concepts
| Concept | Example | Description |
|---|---|---|
Historically: no ios/ or android/ folders | • Legacy terminology from before Expo SDK 46 • modern Expo uses CNG instead | |
Historically: ejected project with native folders | • Legacy terminology • replaced by the concept of using Expo modules in any React Native project | |
npx expo prebuild generates ios/ and android/ | • Native folders are generated artifacts from app.json• treat JS config as source of truth and regenerate native code as needed | |
npx expo prebuild --clean | • Command that generates native projects from app config using CNG • enables upgrades and library changes without manual native edits |