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