~/swaraj.dev
Back to all posts
March 12, 20262 min read

Getting Started with Expo: The Fastest Way to Build React Native Apps

Expo removes most of the friction from React Native development. Here is how to bootstrap a production-ready app in minutes.

react-nativeexpomobilejavascript

Why Expo?

Setting up a bare React Native project means dealing with Xcode, Android Studio, native build configs, and CocoaPods. Expo abstracts all of that behind a managed workflow, letting you focus on writing JavaScript.

Bootstrap in 3 Commands

npx create-expo-app my-app --template blank-typescript
cd my-app
npx expo start

Scan the QR code in Expo Go on your phone � your app is live.

Expo SDK Highlights

  • expo-router: File-based navigation (like Next.js, but for mobile)
  • expo-camera: Camera access with a single import
  • expo-notifications: Push notifications without native config
  • expo-secure-store: Encrypted key-value storage
  • EAS Build: Cloud builds for iOS and Android � no Mac required for Android

File-Based Routing with expo-router

app/
  _layout.tsx       <- Root layout
  index.tsx         <- Home screen
  profile/
    index.tsx       <- /profile
    [id].tsx        <- /profile/:id

Navigation is as simple as:

import { router } from 'expo-router';

router.push('/profile/123');

When to Eject

Stay in the managed workflow as long as possible. Only eject to a bare workflow when you need a native module that Expo does not support. The managed workflow handles 95% of real-world app requirements.

Conclusion

Expo is the best starting point for any new React Native project. It shortens setup from hours to minutes and gives you a full-featured SDK to build production apps fast.