五、给React Native开发人员使用Expo的一些概念

已经使用过React Native?

本指南旨在为已经使用过React Native的开发人员提供有关使用Expo时将遇到的一些关键概念,资源和差异的快速概述。

什么是Expo?

Expo提供了一个共享的本机运行时,因此您不需要编写本机代码,而是专注于使用JavaScript编写React应用程序。您不必担心iOS或Android特定设置,甚至无需打开Xcode。Expo拥有自己的工作流程,包括Expo CLI(命令行界面)和Expo Dev Tools(Web UI),使开发和部署变得简单。

如果您曾经升级过React Native或本机模块,那么您只需更改版本号即可享受Expo为您无缝执行此操作的能力。

Expo通过提供由团队维护的其他经过实战考验的模块扩展了React Native平台。这意味着您花费更少的时间来构建您的应用。

如果您经历过不得不升级模块或安装类似 react-native-maps的麻烦,那么当事情正常时,您会感激不尽。

Expo还提供OTA(空中下载)热更新和推送通知服务。

如果你曾经遇到过在你的应用程序中发现拼写错误并且必须等待Apple批准更改的情况,你会欣赏OTA更新 - 这些更改会在你运行时立即出现expo publish!您也不仅限于文本,这也适用于图像和配置更新等资产!

无需将应用重新构建或重新部署到App and Play商店。如果您之前使用过,那就像Code Push一样。但是,还是有一些限制,在这里阅读这些。

Expo提供了一个我们称之为manifest的共享配置文件。通常,您需要更新Xcode plist或Android Studio xml文件以处理更改。例如,如果您想锁定屏幕方向,更改图标,自定义启动画面等,或添加/删除您在app.json 里配置执行操作的权限。

您可以在app.json设置在Xcode / plist文件或Android studio / xml文件的配置。例如,如果要锁定方向,更改图标,自定义初始屏幕,添加/删除权限 (在独立应用程序中),配置Google地图和其他服务的密钥,您可以在app.json中设置。请参阅此处的指南。

通过Expo,您可以在通过Expo Client(可在App / Play商店中购买)的任何地方与世界任何地方的任何人共享您的应用程序。扫描二维码,或输入一个电话号码,我们会向您发送一个链接,该链接会立即将您的应用加载到您的设备上。

您无需通过iTunes连接注册多个外部测试人员,您可以轻松下载Expo客户端应用程序,并立即在手机上安装工作版本。

我们讨论了我们可以在其中设置权限的app.json,包括Permissions API。 app.json可以设置在由Android独立应用程序用于相机访问,地理位置,指纹等。另一方面,API权限用于在运行时请求和验证访问权限。它提供了一个简单的API,可以询问用户推送通知,位置,相机,录音和联系人。

Expo如何运作?

由于您使用Javascript编写代码,我们将其捆绑并从S3提供。每次发布应用时,我们都会更新这些资源,然后将其推送到您的应用,这样您就可以获得最新版本。

在Expo上发展

默认情况下,我们通过tunnel服务从Expo CLI提供应用程序(我们目前使用ngrok) - 这意味着您不必将设备连接到计算机,甚至不必连接到同一个房间或国家/地区(或者星球?我想它应该可以在太空中工作)作为开发机器,你仍然可以重新加载,使用热模块重新加载,启用远程JS调试,以及通常使用React Native可以做的所有事情。有一点需要注意的是,使用tunnel比使用LAN地址或本地主机要慢一些,所以如果可以的话,应该使用LAN或localhost。了解如何在Expo CLI中进行配置。

Expo将您的设备日志流式传输到Expo CLI和Expo Dev Tools,因此您无需运行adb logcat或与iOS等效 - console.log / warn /error来自任何连接到您的应用程序的设备的消息,将自动显示在您的终端和Expo Dev Tools中。

Expo不能做什么

有时,Expo不提供对您可能需要的本机模块或API的访问权限。在这种情况下,您可以eject 并使用ExpoKit。这允许您继续使用Expo的基础,但允许您创建和使用任何自定义本机模块。

了解更多关于eject这里

部署到App / Play商店

当你准备好了,你可以运行expo build:ios或者expo build:android,Expo将构建你的应用程序并输出你需要提交的二进制文件的链接。然后你就可以使用Application Loader for iOS之类的东西,或直接上传适用于Android的APK。

如果您希望在自己的计算机上构建应用程序,可以按照以下步骤操作。

有用的工具和资源

Expo Snack

直接从浏览器测试和共享Expo功能的最佳方式。将手机指向QR码,您就可以在浏览器中构建沙箱环境并直接在设备上进行测试。

Expo文件

如果有什么你不理解或希望了解更多,这是一个很好的起点。

Expo论坛

从Expo团队或社区获得帮助的最快方式

Expo Github

Expo Client和SDK都是开源的。如果您有什么想要解决的问题,或想出我们如何实现我们的原生模块,欢迎您自己查看代码!

Expo Slack

有用的命令

在Expo中开发时,您可以选择使用命令行工具。以下是我们的一些朋友最喜欢的命令和工作流程:

expo start -c --localhost --ios

启动expo服务器,清除缓存,仅在localhost上加载并在iOS模拟器上打开

expo start --tunnel

启动expo服务器(不清除缓存)并在隧道上运行expo,以便与任何人共享!

expo send -s 2245551234

发送链接到朋友的电话号码,这样他们就可以在手机上查看我正在处理的内容

你可能感兴趣的:(五、给React Native开发人员使用Expo的一些概念)