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

查看:492
本文介绍了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屋!

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