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,例如推送通知,资产管理器,它们需要手动安装并与npm链接,例如
- 正确设置工作项目(包括设备配置)非常复杂,可能会花费一些时间
博览会:
优势:
- 设置项目很容易,只需几分钟即可完成
- 您(和其他人)可以在进行项目时打开项目
- 共享应用程序很容易(通过QR码或链接),您不必发送整个.apk或.ipa文件
- 无需构建即可运行该应用
- 在标准项目中集成了一些基本库(Push Notifications,Asset Manager等)
- 您可以将其弹出到ExpoKit,并继续使用某些Expo功能(但不是全部)来集成本机代码
- Expo可以构建.apk和.ipa文件(可以通过Expo分发到商店)
缺点:
- 您不能添加本机模块(某些情况下可能会改变游戏规则)
- 您不能使用在Objective-C/Java中使用本机代码的库
- 标准的Hello World应用大约有25MB大(由于集成了库)
- 如果要使用:FaceDetector,ARKit o Payments,则需要将其弹出到ExpoKit
- 将其弹出到ExpoKit时需要权衡Expo的功能,例如您无法通过QR码分享
- 弹出ExpoExp时,您只能使用ExpoKit当时支持的react native版本.
- ExpoKit(带有本地模块)中的调试要复杂得多,因为它混合了两种语言和不同的库(不再提供正式的Expo支持)
并且您可以使用满足您的应用程序要求的任何一种
And you can use any one which satisfies your applications requirement
这篇关于Expo CLI和React Native CLI有什么区别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文