SkillsApr 11, 2026·2 min read

Expo — Universal Native Apps for iOS, Android & Web

Expo is an open-source framework and platform for making universal React Native apps. Ship to iOS, Android, and web from one codebase — OTA updates, managed workflow, EAS Build cloud service, and 100+ prebuilt native modules.

Agent ready

Ready-to-run agent install

This asset can be installed after the agent chooses its runtime, checks the plan, and runs the matching command.

Native · 98/100Policy: allow
Agent surface
Any MCP/CLI agent
Kind
Skill
Install
Single
Trust
Trust: Established
Entrypoint
step-1.md
Direct install command
npx -y tokrepo@latest install ee9542c4-3577-11f1-9bc6-00163e2b0d79 --target codex

Run after dry-run confirms the install plan.

TL;DR
Expo ships React Native apps to iOS, Android, and web from a single codebase with OTA updates.
§01

What it is

Expo is an open-source framework and platform built on top of React Native. It lets you build native mobile apps for iOS and Android, plus web apps, all from a single JavaScript/TypeScript codebase. Expo provides a managed workflow with over 100 prebuilt native modules, an OTA (over-the-air) update system, and the EAS Build cloud service for compiling native binaries without local Xcode or Android Studio setups.

Expo targets mobile developers, startup teams, and frontend engineers who want to ship cross-platform apps without managing native build toolchains directly.

§02

How it saves time or tokens

Expo's managed workflow eliminates the need to configure Xcode, Gradle, and native module linking manually. The EAS Build service compiles your app in the cloud, cutting local build times to zero. OTA updates let you push JavaScript changes instantly without going through App Store review cycles. For teams, this means faster iteration and fewer native build failures.

The Expo SDK bundles common native APIs (camera, file system, notifications, maps) as drop-in modules, saving days of native integration work per feature.

§03

How to use

  1. Install the Expo CLI: npx create-expo-app my-app to scaffold a new project. Run npx expo start to launch the development server.
  2. Write your app using React Native components and Expo SDK modules. Use Expo Go on your phone to preview changes instantly without compiling.
  3. Build for production with eas build --platform all. Submit to app stores with eas submit or push OTA updates with eas update.
§04

Example

import { Camera, CameraView } from 'expo-camera';
import { useState } from 'react';
import { Button, View } from 'react-native';

export default function CameraScreen() {
  const [permission, requestPermission] = Camera.useCameraPermissions();

  if (!permission?.granted) {
    return <Button title='Grant Camera Access' onPress={requestPermission} />;
  }

  return (
    <View style={{ flex: 1 }}>
      <CameraView style={{ flex: 1 }} facing='back' />
    </View>
  );
}

This component uses the Expo Camera module. No native linking or pod install required.

§05

Related on TokRepo

§06

Common pitfalls

  • Expo Go does not support all native modules. If you need a custom native module not in the Expo SDK, you must use a development build or eject to the bare workflow.
  • EAS Build is free for limited builds per month. High-volume teams need a paid plan for faster queue times and more build slots.
  • OTA updates only apply to JavaScript bundle changes. Native binary changes (new native modules, SDK version bumps) still require a full app store submission.

Frequently Asked Questions

Can I use Expo with existing React Native projects?+

Yes. Expo supports a bare workflow where you add Expo modules to an existing React Native project incrementally. You do not need to start from scratch. The `npx install-expo-modules` command adds Expo support to any React Native app.

Is Expo free to use?+

The Expo framework and SDK are fully free and open source. EAS Build and EAS Update have free tiers with limited builds and updates per month. Paid plans add faster build queues, more concurrent builds, and priority support.

Does Expo support web apps?+

Yes. Expo for Web uses React Native for Web under the hood. Most Expo SDK modules work on web, though some hardware-specific APIs (NFC, Bluetooth) are mobile-only. You can deploy the web output to any static hosting service.

How do OTA updates work in Expo?+

EAS Update pushes a new JavaScript bundle to your app without going through the App Store or Google Play review. When users open the app, it downloads the latest bundle in the background. Native binary changes still require a store submission.

What native APIs does Expo provide out of the box?+

Expo SDK includes over 100 modules: camera, file system, notifications, location, maps, authentication, haptics, sensors, audio, video, SQLite, and more. Each module is installed individually with npx expo install.

Citations (3)

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets