Expo團隊就在剛剛 (2019/3/1) 發佈了一篇關於Expo更新的文章,咱們來快速剖析一下Expo帶來的新內容吧。react
在介紹新內容以前,咱們先來看一下Expo現有的兩種工做模式npm
Managed模式是由expo-cli
生成的,其中自帶了完整的Expo SDK
,也就是你們最喜歡的Expo全家桶
。Expo全家桶
爲react native應用開發、調試、發佈流程作了極大的簡化,也是新手玩家的不二之選。react-native
Bare模式帶來了更高的可控性(Native層的自定義,選擇性引入Expo SDK
...),固然這種可控性對開發者帶來的也就是更復雜的開發體驗,對開發者的技能知識要求相對較高。api
Unimodules是本次更新帶來的最大內容,用一句話來講就是經過unimodules,咱們能夠在原生react-native應用開發中引入Expo的API
。這樣能帶來什麼好處呢?app
react-native init
生成的純淨react native應用可使用Expo的API經過上面簡單的好處描述就能夠看出來,Expo的野心不單單是想讓react native開發者使用Expo的某些API這麼簡單,Expo的Unimodule歸根結底是想定義的一種業內的Native Module的統一開發 / 輸出標準
,實現Native Module的大一統。工具
還記得使人厭惡的Native Module的倒入過程嗎?修改客戶端代碼對於react native開發者來講是一個極大的挑戰,簡簡單單裝個包動不動一天就過去了。在下一個版本中unimodules將完全抹平這一步,只要npm install,只要npm install,只要npm install,就足夠了。調試
咱們能夠看到的是Expo在逐步地拆分本身的能力,讓用戶去逐一選擇他們所須要Expo所提供的內容,而不是像某些產品上來就給你套一個全家桶
,不用全家桶
啥都不能用的強盜邏輯。咱們暫且不去論述這個選擇對於Expo自己做爲一個產品的好處壞處,但對於開發者這必定是一件極好的事情。十分期待Expo在將來給react native開發賦予的新能力、新內容。code