~/VibeHandbook
免費 PDF

應用 / 行動端

expo.dev

Expo

是什麼

Expo 是一個構建在 React Native 之上的開源框架與平臺,讓構建、執行和釋出移動應用變得輕鬆許多。它打包了一組精選的原生模組、一個命令列工具,以及用於構建和提交應用的雲服務 EAS(Expo Application Services,Expo 提供的雲端構建與提交服務),讓你無需自己管理 Xcode 和 Android Studio。藉助 Expo Go 應用,掃一掃 QR(Quick Response,用手機相機掃描的方形條碼)碼就能在真機上即時預覽專案。

優勢

  • 消除了大部分原生構建的摩擦——常見場景下無需觸碰 Xcode/Gradle。
  • 提供大量現成的原生 (應用程式介面,相機/通知/定位等可直接呼叫的現成構件)。
  • EAS Build 和 EAS Submit 負責雲端構建和應用商店提交。
  • 空中更新(OTA)讓你無需經歷完整的商店稽核即可推送 JavaScript 修復。
  • 基於檔案的路由(Expo Router)以及出色的 TypeScript 支援。

取捨

  • 你會受限於 Expo 的釋出節奏和所支援的原生模組集合。
  • 深度定製的原生程式碼可能需要 "prebuild" 和更多配置。
  • 應用體積可能更大,某些高階原生整合需要額外工作。
  • 雲構建服務在免費層有用量限制。

最適合

對於大多數 React Native 專案,Expo 是合理的預設選擇——尤其是希望快速釋出到兩大應用商店、又不想成為原生構建專家的小團隊和獨立開發者。

與 vibe coding 的契合度

Expo 非常適合 AI 輔助構建:(命令列介面,通過輸入命令來操作的工具)一條命令就能搭起一個可執行的應用,Expo Go 提供即時的真機預覽,而內建的 API 意味著助手很少需要去接那些脆弱的原生程式碼。可以讓模型用 Expo Router 做導航、用 TypeScript 保障安全,並在第三方原生包之前優先使用 Expo 自己的模組(例如 expo-camera)。說明你的目標應用商店,讓它正確配置 EAS。

npx create-expo-app@latest my-app
cd my-app
npx expo start          # 用 Expo Go 掃描二維碼
npx eas build --platform all   # 為兩大商店進行雲構建