Expo CLI和React Native CLI有什么区别?

Jit*_*har 3 react-native react-native-cli expo

React Native提供了两种创建项目的方式。

第一:

npm install -g expo-cli
Run Code Online (Sandbox Code Playgroud)

第二:

npm install -g react-native-cli
Run Code Online (Sandbox Code Playgroud)

那么它们之间有什么不同,如果我们创建react native应用应该使用什么?

Sye*_*yed 18

React Native初始化:

好处:

  • 您可以添加用Java / Objective-C编写的本机模块(可能是唯一但最强大的模块)

缺点:

  • 需要Android Studio和XCode来运行项目
  • 没有Mac,就无法为iOS开发
  • 必须通过USB连接设备才能使用它进行测试
  • 字体需要在XCode中手动导入
  • 如果要共享应用程序,则需要发送整个.apk / .ipa文件
  • 不提供现成的JS API,例如Push-Notifications,Asset Manager,它们需要手动安装并与npm链接
  • 正确设置工作项目(包括设备配置)相当复杂,可能会花费一些时间

博览会:

好处:

  • 设置项目很容易,只需几分钟即可完成
  • 您(和其他人)可以在工作时打开项目
  • 共享应用程序很容易(通过QR码或链接),您不必发送整个.apk或.ipa文件
  • 无需构建即可运行该应用
  • 将一些基本库集成到标准项目中(推送通知,资产管理器等)
  • 您可以将其弹出到ExpoKit并继续使用某些Expo功能(但不是全部)来集成本机代码
  • Expo可以构建.apk和.ipa文件(可以通过Expo分发到存储)

缺点:

  • 您无法添加本机模块(某些情况下可能会改变游戏规则)
  • 您不能使用在Objective-C / Java中使用本机代码的库
  • 标准的Hello World应用程序约为25MB(由于集成了库)
  • 如果要使用:FaceDetector,ARKit o付款,则需要将其弹出到ExpoKit
  • 将其弹出ExpoKit需要权衡Expo的功能,例如您无法通过QR代码共享
  • 弹出ExpoKit时,您只能使用ExpoKit当时支持的react本机版本
  • 在ExpoKit(带有本地模块)中进行调试要复杂得多,因为它混合了两种语言和不同的库(不再提供官方的Expo支持)

您可以使用任何满足您的应用程序要求的软件

  • 解释得好!!!! (2认同)