来自 世博会网站
Expo 让 Web 开发人员只需用 JavaScript 编写一次即可构建真正的原生应用程序,这些应用程序可以在 iOS 和 Android 上运行。
这不是 React Native 所做的吗?有什么不同?
原文由 Aurora 发布,翻译遵循 CC BY-SA 4.0 许可协议
来自 世博会网站
Expo 让 Web 开发人员只需用 JavaScript 编写一次即可构建真正的原生应用程序,这些应用程序可以在 iOS 和 Android 上运行。
这不是 React Native 所做的吗?有什么不同?
原文由 Aurora 发布,翻译遵循 CC BY-SA 4.0 许可协议
1 回答1.6k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
2 回答1k 阅读✓ 已解决
2.3k 阅读
1 回答631 阅读✓ 已解决
930 阅读
891 阅读
当您在 Expo 中编写代码时,您正在编写 React Native 代码。世博会有两个主要部分:
Expo CLI (
expo-cli
):用于创建项目、查看日志、在您的设备上打开、发布等的开发工具。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,同时拥有与任何原生项目相同级别的控制。
阅读有关弹出的更多信息