使用框架构建 React Native 应用
在 React Conf 上,我们更新了关于开始构建 React Native 应用的最佳工具的指导:一个 React Native 框架——一个包含所有必要 API 的工具箱,可让您构建生产就绪的应用。
使用 React Native 框架(例如 Expo)现在是创建新应用的**推荐**方法。
在这篇博客文章中,我们希望详细介绍它们是什么以及它们作为 React Native 开发人员开始新项目对您意味着什么。
什么是 React Native 框架?
如果您一直在构建生产应用,您可能知道迟早会遇到一系列常见问题。
在 Web 或原生平台上构建任何应用时,您可能希望用户能够浏览不同的屏幕、获取数据并存储用户状态。但对于原生应用来说,需要处理的问题更多:您需要工具来在 React Native 版本之间升级您的原生代码,管理所有依赖项的兼容版本,并处理原生构建工具。
如果没有合适的工具,将一个应用从想法变为生产需要一个团队的努力。
我们希望您专注于为用户编写精美的应用和功能,而不是一遍又一遍地解决那些常见问题。
这就是为什么我们相信,您体验 React Native 的最佳方式是通过一个框架,该框架提供了一个包含构建生产就绪应用所需的所有工具的工具箱。
我们发现,您要么正在使用一个框架,要么正在构建您自己的框架。
通过为路由、导航、部署等问题设计自己的解决方案来构建您自己的框架并没有错。像 Meta 和 Microsoft 这样的大公司在内部构建自己的框架,以便深入集成到他们的现有应用中。但我们认为,大多数人使用现有框架会更好。
如果您一直在 Web 上使用 React,您可能熟悉 生产级 React 框架 的类似概念。
截至今天,React Native 唯一推荐的社区框架是 Expo。Expo 的团队自 React Native 早期以来就一直在投资 React Native 生态系统,截至今天,我们认为 Expo 提供的开发者体验是业界顶级的。
Expo 框架本身是并将继续是免费和开源的,而 Expo Application Services (EAS) 是一项可选的付费服务。
如果您最近没有使用过 Expo,请务必观看 Expo 的 Kadi 的这次演讲,她展示了 2024 年您可以使用 Expo 做些什么。
我们还更新了网站上的 入门页面 以反映此建议。
框架将如何影响您?
如果您已经在使用推荐的框架(例如 Expo),那么您已经准备就绪!
如果您想将现有应用迁移到 Expo,您可以在 Expo 官方网站 上找到说明。Expo 提供了许多好处,例如更简单地 升级您的 React Native 版本、更好的开发者体验等等。
但是,如果您不能或不想迁移到 Expo,那也没关系。继续支持在没有官方框架的情况下使用 React Native。您一直在使用的工具,例如 React Native Community CLI、模板和 升级助手 将继续正常工作。
react-native init 命令已从核心移出,现在可以通过以下方式访问
npx @react-native-community/cli@latest init
并在 GitHub 上位于 react-native-community/cli。
如果您是 React Native 库开发者,我们收集了一份关于使用哪些 API 的建议列表。在 RFC 中阅读更多内容。
进一步阅读
如果您有兴趣了解此决定背后的更多原因,我们邀请您阅读 RFC0759:React Native 框架。此 RFC 是多个月努力的结果,涉及 React Native 生态系统中不同合作伙伴和参与者的无数讨论和头脑风暴。
虽然 Expo 目前是唯一推荐的框架,但 RFC 也包含 成为推荐框架的指南,因为我们希望在这个领域看到更多的竞争和创新。
此外,您应该查看在 App.js 2024 上关于 useFrameworks() 的演讲,我们在其中以简短的形式介绍了此 RFC 和必要的更改。
我们相信,通过明确 React Native Core 和框架各自的职责,我们可以促进一个更健康的生态系统,并推动 React Native 的增长和创新。
