Android react native cli和Expo with Bare workflow之间有什么区别?
我将构建一个具有多种复杂功能的大型应用程序。但我被困在下面几点上-Android react native cli和Expo with Bare workflow之间有什么区别?,android,ios,react-native,expo,Android,Ios,React Native,Expo,我将构建一个具有多种复杂功能的大型应用程序。但我被困在下面几点上- react native cli和Expo with Bare workflow之间有什么区别 我应该在我的项目中包括什么?为什么 世博会是由facebook创建的吗 Expo是在react native之上编写的,旨在克服开发人员在开发过程中面临的问题和挑战,当它提供一些功能时,它也有一些限制 react native CLI和Expo with Bare workflow之间有什么区别? 这两者之间的关键区别在于管理不同的r
Expo
是在react native之上编写的,旨在克服开发人员在开发过程中面临的问题和挑战,当它提供一些功能时,它也有一些限制
react native CLI和Expo with Bare workflow之间有什么区别?
这两者之间的关键区别在于管理不同的react本机包。
Expo拥有几乎(不是全部)react native拥有的所有功能,因此它提供了Expo内的所有功能,而不是单独安装和管理模块,所以你们不需要像expo和expo那个样关注单独的本机模块,但expo有一个限制,即若在react native中发布了新的东西,直到expo将其添加到expo中,你们才能使用它。
另一个限制是您不能使用需要链接的库,因为expo为您管理此功能,并且您有使用expo支持的库的边界(托管工作流)。
Expo为您管理构建系统,因此您不必使用Android studio或Xcode进行构建。
它有一个大小限制,所以你的应用程序不能低于(安卓2MB,IOS 25MB),即使是单屏应用程序
管理工作流的限制
react native CLI
您可以自由安装任何东西,大小也取决于您的应用程序
在裸工作流中,我们可以完全访问底层本机项目和任何本机代码。这是一个“裸”本机项目,安装了React-native和Expo SDK中的一个或多个软件包。在本机项目中可以执行的任何操作都可以在此处执行
在裸工作流中,开发人员拥有完全的控制权,以及随之而来的复杂性。您可以在Expo SDK中使用大多数API,但尚不支持使用app.json的构建服务和轻松配置。您可以参考面向本机iOS和Android应用程序的教程和指南,并对本机应用程序做出反应以寻求替代方案
裸工作流的限制
react native cli和Expo with Bare workflow有什么区别? Expo with Bare workflow基本上是一个react本机cli应用程序,已预配置以支持大多数Expo软件包(以下是Bare workflow中支持的API:)。使用一个简单的应用程序,您可以在expo托管和react本机cli之间折衷。启动裸应用程序时已经进行的主要配置是设置Expo团队提供的react native unimodules包() 在裸机应用程序中,您需要Xcode和Android studio,就像普通本地cli应用程序一样 在bare应用程序中,您可以安装大多数Expo软件包,但必须遵循bare工作流的特定安装说明(例如:使用npm安装、链接、pod安装等) Expo裸机应用程序必须使用react native命令启动,它们在创建后不使用Expo cli 世博会管理应用程序的大多数便捷功能在简单的工作流程中缺失,但世博会正致力于随着时间的推移集成其中的大部分功能 我应该在我的项目中包括什么以及为什么? 你应该包括什么取决于你的需要。通过对项目最终目标的深入分析,您可以在一侧的托管工作流和另一侧的裸工作流/react native cli之间做出选择 bare workflow和react native cli之间的选择比较简单,因为它们基本相同,但bare workflow已经进行了一些额外的配置 世博会是由Facebook创建的吗?
没有,但世博会被他们认为是一个非常有用的发展工具。(这就是为什么世博会是根据官方react原生文档创建应用程序的一种方式)。我在使用世博会裸机工作流3个月后写下了这个答案 由于以下区域的原因,我将建议在工作流上使用react native cli