Expo CLI 和 React Native CLI 有什么区别? [英] What is the difference between Expo CLI and React Native CLI?

查看:56
本文介绍了Expo CLI 和 React Native CLI 有什么区别?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

React Native provides two way to create Project.

第一:

npm install -g expo-cli

第二:

npm install -g react-native-cli

那么它们之间有什么不同,如果我们创建 React Native 应用程序应该使用什么?

so what is different between them and what should be used if we create react native app?

推荐答案

React Native init:

优点:

  • 您可以添加用 Java/Objective-C 编写的本机模块(可能是最强大的功能)
  • 您将控制构建.

缺点:

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

世博会:

优点:

  • 设置项目很简单,几分钟内即可完成
  • 您(和其他人)可以在处理项目时打开它
  • 分享应用很简单(通过二维码或链接),您无需发送整个 .apk 或 .ipa 文件
  • 无需构建即可运行应用
  • 在标准项目中集成了一些基本库(推送通知、资产管理器等)
  • 您可以将其弹出到 ExpoKit 并集成本机代码,继续使用一些 Expo 功能,但不是全部
  • Expo 可以构建 .apk 和 .ipa 文件(可以通过 Expo 分发到商店)

缺点:

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

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

这篇关于Expo CLI 和 React Native CLI 有什么区别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆