五、给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

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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,907评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,987评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,298评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,586评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,633评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,488评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,275评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,176评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,619评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,819评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,932评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,655评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,265评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,871评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,994评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,095评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,884评论 2 354

推荐阅读更多精彩内容