What is Expo?
Answer
Expo is a platform and set of tools built around React Native that simplifies building, deploying, and publishing React Native apps. It provides an SDK of pre-built native modules, a managed workflow, and cloud build services. Two workflows: (1) Managed workflow (Expo Go): Expo handles everything — no need for Xcode or Android Studio. Write JavaScript, Expo handles native compilation. Can preview instantly in the Expo Go app on your phone. Limitations: can only use Expo SDK's built-in native modules (not arbitrary native code). Great for beginners, prototypes, many production apps; (2) Bare workflow: eject from managed to have full access to native code (use any npm package with native code). Still uses Expo SDK, but now also has ios/ and android/ folders you control. Expo SDK: pre-built modules for: camera, location, notifications, sensors, filesystem, barcode scanner, face detection, audio, video, SQLite, font loading, and 100+ more — all cross-platform with consistent API. Expo Router: file-based routing (pages directory → routes). EAS (Expo Application Services): cloud build service — build iOS/Android binaries in the cloud without local Xcode/Android Studio: eas build --platform all. Also handles OTA (over-the-air) updates and submission to App Store/Play Store. Starting a project: npx create-expo-app MyApp. Development: npx expo start → scan QR code with Expo Go app.