五、給React Native開發(fā)人員使用Expo的一些概念

已經(jīng)使用過React Native呈队?

本指南旨在為已經(jīng)使用過React Native的開發(fā)人員提供有關(guān)使用Expo時將遇到的一些關(guān)鍵概念,資源和差異的快速概述唱歧。

什么是Expo宪摧?

Expo提供了一個共享的本機運行時,因此您不需要編寫本機代碼颅崩,而是專注于使用JavaScript編寫React應(yīng)用程序几于。您不必?fù)?dān)心iOS或Android特定設(shè)置,甚至無需打開Xcode沿后。Expo擁有自己的工作流程沿彭,包括Expo CLI(命令行界面)和Expo Dev Tools(Web UI),使開發(fā)和部署變得簡單尖滚。

如果您曾經(jīng)升級過React Native或本機模塊膝蜈,那么您只需更改版本號即可享受Expo為您無縫執(zhí)行此操作的能力锅移。

Expo通過提供由團隊維護的其他經(jīng)過實戰(zhàn)考驗的模塊擴展了React Native平臺。這意味著您花費更少的時間來構(gòu)建您的應(yīng)用饱搏。

如果您經(jīng)歷過不得不升級模塊或安裝類似 react-native-maps的麻煩非剃,那么當(dāng)事情正常時,您會感激不盡推沸。

Expo還提供OTA(空中下載)熱更新和推送通知服務(wù)备绽。

如果你曾經(jīng)遇到過在你的應(yīng)用程序中發(fā)現(xiàn)拼寫錯誤并且必須等待Apple批準(zhǔn)更改的情況,你會欣賞OTA更新 - 這些更改會在你運行時立即出現(xiàn)expo publish鬓催!您也不僅限于文本肺素,這也適用于圖像和配置更新等資產(chǎn)!

無需將應(yīng)用重新構(gòu)建或重新部署到App and Play商店宇驾。如果您之前使用過倍靡,那就像Code Push一樣。但是课舍,還是有一些限制塌西,在這里閱讀這些

Expo提供了一個我們稱之為manifest的共享配置文件筝尾。通常捡需,您需要更新Xcode plist或Android Studio xml文件以處理更改。例如筹淫,如果您想鎖定屏幕方向站辉,更改圖標(biāo),自定義啟動畫面等损姜,或添加/刪除您在app.json?里配置執(zhí)行操作的權(quán)限饰剥。

您可以在app.json設(shè)置在Xcode / plist文件或Android studio / xml文件的配置。例如摧阅,如果要鎖定方向捐川,更改圖標(biāo),自定義初始屏幕逸尖,添加/刪除權(quán)限 (在獨立應(yīng)用程序中),配置Google地圖和其他服務(wù)的密鑰瘸右,您可以在app.json中設(shè)置娇跟。請參閱此處的指南

通過Expo太颤,您可以在通過Expo Client(可在App / Play商店中購買)的任何地方與世界任何地方的任何人共享您的應(yīng)用程序苞俘。掃描二維碼,或輸入一個電話號碼龄章,我們會向您發(fā)送一個鏈接吃谣,該鏈接會立即將您的應(yīng)用加載到您的設(shè)備上乞封。

您無需通過iTunes連接注冊多個外部測試人員,您可以輕松下載Expo客戶端應(yīng)用程序岗憋,并立即在手機上安裝工作版本肃晚。

我們討論了我們可以在其中設(shè)置權(quán)限的app.json,包括Permissions API仔戈。 app.json可以設(shè)置在由Android獨立應(yīng)用程序用于相機訪問关串,地理位置,指紋等监徘。另一方面晋修,API權(quán)限用于在運行時請求和驗證訪問權(quán)限。它提供了一個簡單的API凰盔,可以詢問用戶推送通知墓卦,位置,相機户敬,錄音和聯(lián)系人落剪。

Expo如何運作?

由于您使用Javascript編寫代碼山叮,我們將其捆綁并從S3提供著榴。每次發(fā)布應(yīng)用時,我們都會更新這些資源屁倔,然后將其推送到您的應(yīng)用脑又,這樣您就可以獲得最新版本。

在Expo上發(fā)展

默認(rèn)情況下锐借,我們通過tunnel服務(wù)從Expo CLI提供應(yīng)用程序(我們目前使用ngrok) - 這意味著您不必將設(shè)備連接到計算機问麸,甚至不必連接到同一個房間或國家/地區(qū)(或者星球?我想它應(yīng)該可以在太空中工作)作為開發(fā)機器钞翔,你仍然可以重新加載严卖,使用熱模塊重新加載,啟用遠(yuǎn)程JS調(diào)試布轿,以及通常使用React Native可以做的所有事情哮笆。有一點需要注意的是,使用tunnel比使用LAN地址或本地主機要慢一些汰扭,所以如果可以的話稠肘,應(yīng)該使用LAN或localhost。了解如何在Expo CLI中進行配置萝毛。

Expo將您的設(shè)備日志流式傳輸?shù)紼xpo CLI和Expo Dev Tools项阴,因此您無需運行adb logcat或與iOS等效 -?console.log / warn /error來自任何連接到您的應(yīng)用程序的設(shè)備的消息,將自動顯示在您的終端和Expo Dev Tools中笆包。

Expo不能做什么

有時环揽,Expo不提供對您可能需要的本機模塊或API的訪問權(quán)限略荡。在這種情況下,您可以eject?并使用ExpoKit歉胶。這允許您繼續(xù)使用Expo的基礎(chǔ)汛兜,但允許您創(chuàng)建和使用任何自定義本機模塊。

了解更多關(guān)于eject這里

部署到App / Play商店

當(dāng)你準(zhǔn)備好了跨扮,你可以運行expo build:ios或者expo build:android序无,Expo將構(gòu)建你的應(yīng)用程序并輸出你需要提交的二進制文件的鏈接。然后你就可以使用Application Loader for iOS之類的東西衡创,或直接上傳適用于Android的APK帝嗡。

如果您希望在自己的計算機上構(gòu)建應(yīng)用程序,可以按照以下步驟操作璃氢。

有用的工具和資源

Expo Snack

直接從瀏覽器測試和共享Expo功能的最佳方式哟玷。將手機指向QR碼,您就可以在瀏覽器中構(gòu)建沙箱環(huán)境并直接在設(shè)備上進行測試一也。

Expo文件

如果有什么你不理解或希望了解更多巢寡,這是一個很好的起點。

Expo論壇

從Expo團隊或社區(qū)獲得幫助的最快方式

Expo Github

Expo Client和SDK都是開源的椰苟。如果您有什么想要解決的問題抑月,或想出我們?nèi)绾螌崿F(xiàn)我們的原生模塊,歡迎您自己查看代碼舆蝴!

Expo Slack

有用的命令

在Expo中開發(fā)時谦絮,您可以選擇使用命令行工具。以下是我們的一些朋友最喜歡的命令和工作流程:

expo start -c --localhost --ios

啟動expo服務(wù)器洁仗,清除緩存层皱,僅在localhost上加載并在iOS模擬器上打開

expo start --tunnel

啟動expo服務(wù)器(不清除緩存)并在隧道上運行expo,以便與任何人共享赠潦!

expo send -s 2245551234

發(fā)送鏈接到朋友的電話號碼叫胖,這樣他們就可以在手機上查看我正在處理的內(nèi)容

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市她奥,隨后出現(xiàn)的幾起案子瓮增,更是在濱河造成了極大的恐慌,老刑警劉巖哩俭,帶你破解...
    沈念sama閱讀 219,589評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件绷跑,死亡現(xiàn)場離奇詭異,居然都是意外死亡携茂,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評論 3 396
  • 文/潘曉璐 我一進店門诅岩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來讳苦,“玉大人带膜,你說我怎么就攤上這事≡眨” “怎么了膝藕?”我有些...
    開封第一講書人閱讀 165,933評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長咐扭。 經(jīng)常有香客問我芭挽,道長,這世上最難降的妖魔是什么蝗肪? 我笑而不...
    開封第一講書人閱讀 58,976評論 1 295
  • 正文 為了忘掉前任袜爪,我火速辦了婚禮,結(jié)果婚禮上薛闪,老公的妹妹穿的比我還像新娘辛馆。我一直安慰自己,他們只是感情好豁延,可當(dāng)我...
    茶點故事閱讀 67,999評論 6 393
  • 文/花漫 我一把揭開白布昙篙。 她就那樣靜靜地躺著,像睡著了一般诱咏。 火紅的嫁衣襯著肌膚如雪苔可。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,775評論 1 307
  • 那天袋狞,我揣著相機與錄音焚辅,去河邊找鬼。 笑死硕并,一個胖子當(dāng)著我的面吹牛法焰,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播倔毙,決...
    沈念sama閱讀 40,474評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼埃仪,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了陕赃?” 一聲冷哼從身側(cè)響起卵蛉,我...
    開封第一講書人閱讀 39,359評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎么库,沒想到半個月后傻丝,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,854評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡诉儒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,007評論 3 338
  • 正文 我和宋清朗相戀三年葡缰,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,146評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡泛释,死狀恐怖滤愕,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情怜校,我是刑警寧澤间影,帶...
    沈念sama閱讀 35,826評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站茄茁,受9級特大地震影響魂贬,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,484評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望舔糖。 院中可真熱鬧,春花似錦机蔗、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,029評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至扬卷,卻和暖如春牙言,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背怪得。 一陣腳步聲響...
    開封第一講書人閱讀 33,153評論 1 272
  • 我被黑心中介騙來泰國打工咱枉, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人徒恋。 一個月前我還...
    沈念sama閱讀 48,420評論 3 373
  • 正文 我出身青樓蚕断,卻偏偏與公主長得像,于是被迫代替她去往敵國和親入挣。 傳聞我的和親對象是個殘疾皇子亿乳,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,107評論 2 356

推薦閱讀更多精彩內(nèi)容