跳到主要内容

使用框架构建 React Native 应用

·阅读时长5分钟
Nicola Corti
Nicola Corti
Meta 软件工程师

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 在 React Conf 上的演讲,她将展示您在 2024 年可以使用 Expo 做些什么。

我们还更新了网站上的 入门页面 以反映此建议。

框架将如何影响您?

如果您已经在使用 Expo 等推荐的框架,那么您已经准备就绪!

如果您想将现有应用迁移到 Expo,可以在 Expo 官方网站 上找到相关说明。Expo 提供了许多好处,例如更轻松地 升级您的 React Native 版本,更好的开发者体验等等。

但是,如果您不能或不想迁移到 Expo,那也没关系。继续使用 React Native 而不使用官方框架仍将受到支持。您一直在使用的工具,例如 React Native Community CLI、Template 和 Upgrade Helper 将一如既往地正常工作。

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 的增长与创新。