Expo 通用原生应用框架
Expo 是一个基于 React 的开源通用原生应用框架,用 JavaScript/TypeScript 编写一次代码即可同时运行在 Android、iOS 和 Web 上。仓库包含 Expo SDK、模块 API、CLI、Router、Expo Go 客户端与官方文档等完整工具链。
过去 7 天收获 2 颗 Star
爱鲜报评分
0 人评分
53k
星数
否
中文
TypeScript
主语言
是
活跃
2273
贡献者
人工分析
EDITORIAL推荐理由
Expo 是 React Native 生态中最成熟的上层框架之一,5 万+ Star 与 MIT 协议保证了它的活跃度与可用性。它把原生构建、热更新、路由、相机/通知等能力封装成开箱即用的 SDK,大幅降低跨端开发门槛。配合 EAS 云构建服务,个人开发者也能快速完成打包与发布。
适用场景
- 跨平台移动应用开发(Android/iOS/Web 一套代码)
- React Native 项目快速原型与 MVP 验证
- 需要相机、通知、定位等原生能力的 App
- 使用 Expo Router 构建文件路由式应用
- 前端团队拓展移动端业务
优点
- 一套 React/TypeScript 代码覆盖三端,开发效率高
- SDK 生态完善,常用原生能力开箱即用
- Expo Go 扫码即可真机预览,调试体验好
- 文档详尽,社区与 Discord 活跃,问题易求助
- MIT 开源,可自由定制原生模块
缺点
- 深度定制原生代码时需切换到开发构建(Dev Client)
- 部分新系统特性依赖 SDK 版本升级节奏
- EAS 云构建/更新等高级服务为商业付费
- 包体积与启动性能需额外优化
- 国内访问官方服务与文档可能不稳定
Expo 是什么
Expo 是一个基于 React 的开源通用原生应用框架,让你用 JavaScript/TypeScript 编写一次代码,即可运行在 Android、iOS 和 Web 三个平台。它提供通用运行时与一系列原生库,把复杂的原生工程细节封装起来。
本仓库包含 Expo SDK、Modules API、Expo Go 客户端、CLI、Router、官方文档以及各类配套工具。
核心组成
- Expo SDK:相机、通知、定位、文件系统等常用原生能力的统一封装
- Expo Router:基于文件系统的路由方案,适合构建多页面应用
- Expo CLI:项目创建、启动、构建与调试的命令行工具
- Expo Go:手机上的沙盒客户端,扫码即可预览项目
- EAS:与开源工具深度集成的云端构建、发布与更新服务
快速上手
使用官方脚手架创建项目(具体参数以官方文档为准):
npx create-expo-app@latest my-app
cd my-app
npx expo start
启动后用手机上的 Expo Go 扫描终端二维码即可真机预览,也可以在浏览器中直接打开 Web 版本。
仓库结构速览
packages/:Expo 各模块与库的源码apps/:与开发模块联调的示例项目,apps/expo-go为 Expo Go 源码docs/:官方文档站点源码templates/:create-expo-app使用的模板工程react-native-lab/:用于构建 Expo Go 的 React Native 分支
适用与注意
Expo 适合希望用 Web 技术栈快速交付多端应用的团队。若项目需要深度定制原生代码,可迁移到开发构建(Dev Client)模式;对包体积和启动性能敏感的应用,需要结合按需加载与原生优化手段。
许可证
Expo 源码采用 MIT 许可证,部分依赖使用 BSD 等其他许可证。
评论
- 暂无评论,来写第一条吧。