Scripts2026年4月11日·1 分钟阅读

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.

SC
Script Depot · Community
快速使用

先拿来用,再决定要不要深挖

这里应该同时让用户和 Agent 知道第一步该复制什么、安装什么、落到哪里。

npx create-expo-app@latest my-app
cd my-app
npm start      # Metro bundler + QR code

Scan the QR with Expo Go app on your phone, or run:

npm run ios      # iOS simulator
npm run android  # Android emulator
npm run web      # Browser

A component:

import { Text, View, Button } from "react-native";
import * as Haptics from "expo-haptics";

export default function App() {
  return (
    <View style={{ flex: 1, justifyContent: "center" }}>
      <Text>Hello from Expo</Text>
      <Button
        title="Haptic!"
        onPress={() => Haptics.impactAsync()}
      />
    </View>
  );
}
介绍

Expo is an open-source framework and platform for universal React Native apps. Makes React Native development 10x easier: no Xcode/Android Studio setup required, OTA updates, cloud builds (EAS), and 100+ prebuilt native modules.

What Expo Does

  • Managed workflow — develop without touching native code
  • Expo Go app — preview on device via QR code
  • EAS Build — cloud-build iOS/Android binaries
  • EAS Submit — submit to App Store/Play Store
  • EAS Update — OTA JS updates (skip store review)
  • Expo Router — file-based routing (like Next.js)
  • 100+ modules — camera, notifications, location, sensors, biometrics
  • Web support — same code runs in browser via react-native-web

Architecture

Expo sits on top of React Native. Managed workflow uses expo prebuild to generate native projects on demand. Bare workflow exposes full native access. Expo Router uses file-system routing with shared layouts.

Self-Hosting

CLI is free and open source. EAS (build/submit/update) is a paid SaaS with free tier. You can self-host EAS Update via expo-updates + your own CDN.

Key Features

  • File-based routing (Expo Router)
  • Hot reload on device
  • OTA updates (EAS Update)
  • Cloud builds (EAS Build)
  • Web support (react-native-web)
  • 100+ first-party modules
  • TypeScript-first templates
  • Dev Client for native testing

Comparison

Framework Approach Native Access Cloud Build
Expo Managed + bare Full (prebuild) EAS
Bare RN Manual Full Manual
Flutter Dart + Skia Full Codemagic
Capacitor Web in WebView Plugin Ionic Hub

常见问题 FAQ

Q: Expo vs Bare React Native? A: Expo 是默认推荐。Bare 只在需要深度原生定制(自定义 ObjC/Swift/Java/Kotlin 代码)时选择。

Q: 支持 Web 吗? A: 支持。同一套代码通过 react-native-web 在浏览器运行。适合中后台 + App 同构。

Q: EAS 贵吗? A: 免费层够小团队用(每月 30 次 Build、无限 Update)。商业项目 $19/月 起。

来源与致谢 Sources

讨论

登录后参与讨论。
还没有评论,来写第一条吧。

相关资产