Expo 和 React Native 有什么区别?

新手上路,请多包涵

来自 世博会网站

Expo 让 Web 开发人员只需用 JavaScript 编写一次即可构建真正的原生应用程序,这些应用程序可以在 iOS 和 Android 上运行。

这不是 React Native 所做的吗?有什么不同?

原文由 Aurora 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2.4k
1 个回答

当您在 Expo 中编写代码时,您正在编写 React Native 代码。世博会有两个主要部分:

  1. Expo CLI ( expo-cli ):用于创建项目、查看日志、在您的设备上打开、发布等的开发工具。

  2. Expo 客户端:手机上的一个应用程序,可以让您在处理项目时打开项目,无需通过 XCode 或 Android Studio,还可以让其他人查看它们!如果您通过 expo-cli 发布它,如果登录到发布它的同一帐户,人们可以随时通过 Android 或 iOS 上的 Expo 客户端访问它。最后,我们还可以构建独立的应用程序,这样人们就不必使用 Expo 客户端来打开它,并且您可以根据需要分发到应用程序商店和 Play 商店。

所以 Expo 是一套建立在 React Native 之上的工具。这些工具依赖于 Expo 持有的一个关键信念:只要您拥有一整套暴露于 JavaScript 的 API,就可以构建大多数应用程序而无需编写本机代码。

这很重要,因为使用 React Native 你总是可以下拉到原生代码。有时这非常有用,但这是有代价的:如果你想让他们测试它们,你需要将你的二进制文件发送给他们,世界另一端的人不能在你工作时点击一个链接来打开它在它上面,你不能像在浏览器中那样一键发布它,让别人访问它。

对于 Expo,如果可以的话,我们建议尽量避免使用原生代码。正如我上面提到的,我们认为有了一套可用于 JavaScript 的全面 API,对于大多数应用程序来说,这应该不是必需的。因此,我们的目标是提供这套全面的 API,然后构建可以在共享本机运行时的世界中存在的所有出色工具。

但是,如果您必须发现您想要下拉到原生,您可以使用弹出并继续使用 Expo 为您提供的原生 API,同时拥有与任何原生项目相同级别的控制。

阅读有关弹出的更多信息

原文由 brentvatne 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题