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