来自世博网站

Expo让web开发者只需用JavaScript编写一次,就能构建出能够在iOS和Android上运行的真正原生应用。

这不是React Native所做的吗?有什么不同?


当前回答

Expo是React Native CLI的包装,它在底层为开发人员提供方便。Expo解决的最常见的问题是,开发人员不必担心React Native CLI中经常出现的库链接问题。Expo现在提供了大量的库,这些库对健壮的开发非常有帮助。Expo的好处之一是,你可以在没有Mac的情况下通过Expo手机应用开发Android和iOS应用。

虽然它有很多好处,但使用Expo也有一些缺点:

应用程序的大小迅速增加。一个简单的Hello, World!app大小超过30mb 有时候,当你需要在你的应用程序中实现一些本地功能时,你将需要从Expo中弹出并返回React native CLI。而且您永远无法将其恢复到Expo CLI。

其他回答

我在世博工作了一年多。 如果应用的大小对你来说不重要,使用Expo,因为它比React-native更容易实现Map和Push,但在项目结束时,如果你想在谷歌Play或其他商店发布应用,你会遇到一个挑战,删除APK中的一些权限。

在React Native中,你可以改变一切,但对于导入一些库,如推送通知或地图,它也需要一些挑战,因为你必须手动将这些库添加到Android和iOS项目中。

Expo是React Native CLI的包装,它在底层为开发人员提供方便。Expo解决的最常见的问题是,开发人员不必担心React Native CLI中经常出现的库链接问题。Expo现在提供了大量的库,这些库对健壮的开发非常有帮助。Expo的好处之一是,你可以在没有Mac的情况下通过Expo手机应用开发Android和iOS应用。

虽然它有很多好处,但使用Expo也有一些缺点:

应用程序的大小迅速增加。一个简单的Hello, World!app大小超过30mb 有时候,当你需要在你的应用程序中实现一些本地功能时,你将需要从Expo中弹出并返回React native CLI。而且您永远无法将其恢复到Expo CLI。

关于Expo和React Native CLI的优点和缺点的答案是完整的。我还想谈谈我的个人经历。

在项目中,默认情况下,Expo包含许多模块,这使得使用它更容易。但它在制作阶段存在一个大问题,因为Android和iOS版本的尺寸太大了。例如,如果你有一个带有“Hello, World!”’,APK文件大小约为19 MB。在React Native CLI中使用相同的项目将导致应用程序大小为6 MB。

所以就我个人而言,如果你想开发一款商业应用,我不建议你使用Expo。

这里我要说明的是,Expo使用的是React的旧版本16.5,这将禁止你使用新的hooks功能。

如果您决定使用Expo,请注意您的版本控制。例如,如果遇到奇怪的错误,就需要在16.5版本中使用旧版本的反应导航。

世博会CLI

优点:

无需安装Android Studio或Xcode即可开始构建。 不需要很多配置。 使用条形码扫描在Android和iPhone上轻松查看移动UI。通过在线iPhone和Android模拟器也更容易查看。 更快的设置和开发。

缺点:

无法添加本机依赖项。 创建。apk和。ipa文件是困难的。 apk/ipa的大小很大。

React Native CLI

优点:

轻松添加本机依赖项。 创建。apk和。ipa文件比使用Expo要容易得多

注意:React Native CLI是用来直接使用React Native框架的框架。

缺点:

需要高水平的配置。 基本了解Android和iOS文件夹结构。

如你所见,这两种方法各有利弊;您应该始终根据项目的需要来决定使用哪一种。