【问题标题】:What is the difference between Expo CLI and React Native CLI? [duplicate]Expo CLI 和 React Native CLI 有什么区别? [复制]
【发布时间】:2023-03-04 15:16:02
【问题描述】:

React Native 提供了两种创建 Project 的方式。

第一:

npm install -g expo-cli

第二:

npm install -g react-native-cli

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

【问题讨论】:

    标签: react-native expo react-native-cli


    【解决方案1】:

    React Native 初始化:

    优点:

    • 您可以添加用 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 本机版本
    • ExpoKit 中的调试(使用本机模块)要复杂得多,因为它混合了两种语言和不同的库(不再支持 Expo 官方)

    您可以使用任何满足您的应用要求的产品

    【讨论】:

    • 解释得好!!!
    • 为什么 react native cli 只有优势?
    • Expo 的缺点变成了 React Native CLI 的优点,这就是为什么?。
    猜你喜欢
    • 2021-10-07
    • 2017-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-01
    • 2017-06-28
    • 1970-01-01
    相关资源
    最近更新 更多