React native Expo CLI和React Native CLI之间有什么区别?

React native Expo CLI和React Native CLI之间有什么区别?,react-native,expo,react-native-cli,React Native,Expo,React Native Cli,React Native提供了两种创建项目的方法 第一名: npm install -g expo-cli 秒: npm install -g react-native-cli 那么,它们之间有什么不同,如果我们创建react-native应用程序,应该使用什么呢?react-native init: npm install -g react-native-cli 优势: npm install -g react-native-cli 您可以添加用Java/Objective-C编写的

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

第一名:

npm install -g expo-cli
秒:

npm install -g react-native-cli

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

react-native init:

npm install -g react-native-cli
优势:

npm install -g react-native-cli
  • 您可以添加用Java/Objective-C编写的本机模块(可能是最强大的功能)
  • 您将拥有对构建的控制权
缺点:

npm install -g react-native-cli
  • 需要Android Studio和XCode来运行项目
  • 如果没有mac,就无法开发iOS
  • 设备必须通过USB连接才能用于测试
  • 需要在XCode中手动导入字体
  • 如果要共享应用程序,需要发送整个.apk/.ipa文件
  • 不提供现成的JS API,例如推送通知、资产管理器,它们需要手动安装并与npm链接
  • 正确设置工作项目(包括设备配置)相当复杂,需要时间
世博会:

npm install -g react-native-cli
优势:

npm install -g react-native-cli
  • 建立一个项目很容易,而且可以在几分钟内完成
  • 您(和其他人)可以在处理项目时打开该项目
  • 共享应用程序很容易(通过二维码或链接),您不必发送整个.apk或.ipa文件
  • 无需构建即可运行应用程序
  • 在标准项目中集成一些基本库(推送通知、资产管理器等)
  • 您可以将其弹出到ExpoKit,并继续使用Expo的某些功能集成本机代码,但不能全部集成
  • Expo可以构建.apk和.ipa文件(可以通过Expo分发到商店)
缺点:

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

并且您可以使用任何满足您的应用程序要求的工具

解释得很好!!!!为什么本机cli只有优势?