1️⃣ Expo 到底是谁?
一句话版本:
Expo = React Native + 全家桶 + 魔法脚本 + 云打包 + 一行命令搞定原生模块。
官方一句话:
Expo 是一个开源平台,帮你用 JS/TS 写真正的原生应用,同时屏蔽掉 90% 原生开发的痛苦。
2️⃣ Expo 三件套:Go、Prebuild、Dev Client
| 角色 | 外号 | 功能 | 适合场景 |
|---|---|---|---|
| Expo Go | “官方 demo 机” | 扫码就跑,零构建 | 写业务逻辑、教学、撩投资人 |
| Prebuild | “一键变原生” | 把 app.json 变 ios/ & android/ | 需要改原生配置但又不想学 Gradle |
| Dev Client | “你自己的 Expo Go” | 支持任何原生模块,还带调试菜单 | 要上第三方 SDK、蓝牙、Firebase、推送… |
记住口诀:Go 玩业务,Prebuild 改配置,Dev Client 上生产。
3️⃣ 30 秒跑通 Hello World
npm i -g expo-cli # 1. 装 CLI
expo init AwesomeProject # 2. 选 blank (TypeScript)
cd AwesomeProject
expo start # 3. 弹出二维码
掏出手机,打开 Expo Go,扫码——Hello World 已就位。
整个过程比你泡一杯挂耳还快。
4️⃣ 原生模块?拿来吧你!
场景:老板说「我们要用蓝牙」。
传统 RN:
- 配原生环境 → 两天
- 写桥接代码 → 三天
- 同事:Android 编译又挂了 → 一周
Expo 路线:
- 安装
npx expo install react-native-ble-plx expo-dev-client - 生成原生工程
npx expo prebuild - 云构建
eas build --profile development - 扫码 → 打开 你自己的 Dev Client → 蓝牙已能搜到老板的耳机。
全程 10 分钟,老板耳机里传来《孤勇者》。
5️⃣ 云打包:CI/CD 界的瑞士军刀
Expo Application Services (EAS) 能做什么?
- 云构建:Mac Mini M2 集群帮你打 IPA/APK,还带缓存
- 云更新:一行命令把 JS bundle 推到用户手机(OTA)
- 云提交:直接帮你把包丢到 App Store / Google Play,连截图都能帮你截
价格?免费额度够用到 A 轮。💰
6️⃣ 性能 & 体积:别再听谣言
- 体积:SDK 49 开始支持 Modular 按需引入,空包 7 MB
- 性能:Hermes + JSC 双持,启动速度与裸 RN 持平
- 原生能力:所有 RN 库都能用,只要加进 Dev Client
7️⃣ 彩蛋:你不知道的骚操作
| 功能 | 命令 | 效果 |
|---|---|---|
| 网页预览 | expo start --web | 同一套代码跑在浏览器 |
| 双端日志 | expo start --dev-client | iOS & Android 日志一起刷 |
| 版本时光机 | eas update --branch staging | 回滚到上一版只要 30 秒 |
| 预览链接 | eas build --profile preview | 生成带二维码的安装页,投资人扫码即装 |
8️⃣ 什么时候别用 Expo?
- 需要改 RN 源码(比如魔改 Yoga)
- 游戏级性能(直接上 Unity 吧)
- 极度精简安装包(<4 MB)
除此之外,Expo 几乎通杀。
9️⃣ 结尾:把键盘留给诗人
用 Expo 的最大感受:
写 App 像写 PPT —— 所见即所得,还能一键分享。
如果你也厌倦了「环境 > 代码」的循环,
那就 npm i -g expo-cli,
让我们一起把创意的时间从 30% 提升到 90%。
彩蛋口令:在终端输入
expo start --web --tunnel,
然后把这个网址甩给设计师:
“来,直接在线改颜色,刷新就行。”
设计师当场给你五星好评。
1516

被折叠的 条评论
为什么被折叠?



