HOWTO · React

React Native 中的 Expo

本文让你了解 Expo 在 React Native 开发应用程序过程中的作用及其用途。

本页内容

智能手机已经成为我们日常生活中不可分割的一部分。与我们每天使用的其他电子产品相比,智能手机技术相对较新。

直到几年前,如果没有扎实的 Java、C++ 或 C# 知识,就不可能创建移动应用程序。React Native 框架的发展已经改变,不再是这样。

如今,可以使用基于 JavaScript 的库(例如 React Native)创建功能强大的智能手机应用程序。

与主要的 React 库一样,React Native 是围绕组件可重用性的概念构建的,以促进复杂应用程序的开发。

什么是 React Native 中的 Expo

React Native 使开发人员能够在需要时使用本机代码。它可以同时是优势和劣势。

使用本机代码使与他人协作和共享你的工作变得困难。如果 React Native 项目包含原生代码,则需要花费更多精力来分享它。

Expo 是专门为解决此问题而创建的一组工具。

这些工具基于一个原则:在开发 React Native 应用程序时尽量减少或消除本机代码的使用。Expo 旨在通过提供各种暴露于 JavaScript 的 API 来实现这一目标。

Expo 提供了两个主要工具;这些是 Expo CLI 和 Expo Client。

React Native 中的 Expo CLI (expo-cli)

expo-cli 是一个命令行应用程序开发人员用来与展览工具进行交互和控制。

开发人员可以使用它来执行广泛的任务,例如:

  1. 创建新项目。
  2. 监督实际开发过程。
  3. 发布应用。
  4. 管理应用商店和游戏商店的登录凭据。

阅读官方文档以了解有关你可以使用的确切命令集的更多信息。

React Native 中的 Expo 客户端

一个方便的应用程序为你的手机。它允许你打开项目并查看正在进行的工作,绕过 XCode 和 Android Studio。

更重要的是,你可以使用它与他人分享你的项目。授权开发人员还可以随时使用 expo 客户端访问已发布的应用程序。

Expo 和 React Native 的区别

简而言之,React Native 是允许开发人员使用 JavaScript 为移动应用程序编写 Native 代码的框架。Expo 是一组促进 React Native 开发的工具。

Expo 不是一个不同的框架,而是一组指南和 API,可帮助开发人员编写易于维护的代码。

在 React 中 React Native 的优势

  1. 使用 React Native(不使用 Expo)进行编写为你作为开发人员提供了更多的自由,尤其是在编写原生代码时。
  2. 你可以包含本机代码。

React 中 React Native 的缺点

  1. Android Studio 和 XCode 是开发必不可少的。
  2. 只能用 iMac 编写 iOS 应用程序。
  3. 只有智能手机通过 USB 连接电脑,才能测试项目。
  4. 导入自定义字体的过程更加复杂。
  5. 启动项目的过程更加复杂。
  6. 共享应用程序只能通过共享整个应用程序文件来实现。
  7. 重要的 API,例如 Push-Notifications 和 Asset Manager,不会自动包含在内。

在 React 中 Expo 的优势

  1. 建立项目的过程更简单。
  2. 更容易在项目上协作。
  3. 应用更容易分享。
  4. 包含重要的 API(如 Push Notifications 和 Asset Manager)。
  5. 如果本机代码对你的应用程序至关重要,你可以在将其弹出到 ExpoKit 后将其包含在内。但是,某些功能将丢失。

React 中 Expo 的缺点

  1. 阻止开发人员编写本机代码。
  2. 阻止开发人员使用包含本机代码的库。
  3. 由于包含库,项目的文件大小比 React Native 大得多。
  4. 一些重要功能(FaceDetector、ARKit)仅在 ExpoKit 中可用。
  5. ExpoKit 不包含 Expo 的一些最重要的特性。
  6. ExpoKit 中的调试是一个漫长的过程。