使用框架构建 React Native 应用
在 React Conf 上,我们更新了有关构建 React Native 应用的最佳入门工具的指南:**React Native 框架** - 一个包含所有必要 API 的工具箱,可让您构建可用于生产环境的应用。
使用 React Native 框架(例如 Expo)现在是创建新应用的**推荐**方法。
在这篇博文中,我们希望详细介绍它们是什么,以及它们对作为 React Native 开发人员开始新项目的人意味着什么。
什么是 React Native 框架?
如果您一直在构建生产应用,您可能知道迟早需要解决一组常见问题。
在 Web 或原生环境中构建任何应用程序时,您可能希望用户能够在不同的屏幕之间导航、获取数据以及存储用户状态。但是对于原生应用,还有更多需要处理的事情:您需要工具来在 React Native 版本之间升级您的原生代码、管理所有依赖项的兼容版本以及处理原生构建工具。
如果没有合适的工具,将应用程序从构思到生产需要很多人参与。
我们希望您专注于为用户编写美观且功能强大的应用程序,而不是一遍又一遍地解决这些常见问题。
因此,我们认为体验 React Native 的最佳方式是通过一个框架,该框架提供一个包含构建可用于生产环境的应用程序所需的所有必要工具的工具箱。
我们发现**您要么使用框架,要么构建自己的框架**。
构建自己的框架并没有错,您可以为路由、导航、部署等创建自己的解决方案。Meta 和微软等大型公司在内部构建自己的框架,以深度集成到其现有应用中。但我们认为,大多数人使用现有的框架会更好。
如果您一直在使用 Web 上的 React,您可能熟悉类似的生产级 React 框架概念。
截至今天,React Native 唯一推荐的社区框架是 Expo。Expo 的团队从 React Native 的早期就开始投资 React Native 生态系统,截至今天,我们认为 Expo 提供的开发人员体验是同类产品中最好的。
Expo(框架)现在并且将来都将保持免费和开源,而 Expo 应用程序服务 (EAS) 则是一项可选的付费服务。
如果您最近没有使用过 Expo,请确保不要错过 Kadi 在 Expo 的演讲,她在演讲中展示了您在 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 核心和框架各自的职责,我们可以培养一个更健康的生态系统,并推动 React Native 的发展和创新。