Expo CLI 和 React Native CLI 有什么区别? [英] What is the difference between Expo CLI and React Native CLI?
本文介绍了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屋!
查看全文