震惊!Expo全家桶竟然能这样了

Expo团队就在刚刚 (2019/3/1) 发布了一篇关于Expo更新的文章,咱们来快速剖析一下Expo带来的新内容吧。react

Expo的两种工做模式

在介绍新内容以前,咱们先来看一下Expo现有的两种工做模式npm

Managed

Managed模式是由expo-cli生成的,其中自带了完整的Expo SDK,也就是你们最喜欢的Expo全家桶Expo全家桶为react native应用开发、调试、发布流程作了极大的简化,也是新手玩家的不二之选。react-native

Bare

Bare模式带来了更高的可控性(Native层的自定义,选择性引入Expo SDK...),固然这种可控性对开发者带来的也就是更复杂的开发体验,对开发者的技能知识要求相对较高。api

Unimodules

Unimodules是本次更新带来的最大内容,用一句话来讲就是经过unimodules,咱们能够在原生react-native应用开发中引入Expo的API。这样能带来什么好处呢?app

  1. 经过react-native init生成的纯净react native应用可使用Expo的API
  2. 经过Expo工具链开发的应用能够更加无缝地转化成react native应用
  3. 经过Unimodules的拆分,Expo给了开发者选择引入API,下降Expo应用体积的能力
  4. unimodules输出的包通用性极高,甚至能够被Flutter所使用

经过上面简单的好处描述就能够看出来,Expo的野心不单单是想让react native开发者使用Expo的某些API这么简单,Expo的Unimodule归根结底是想定义的一种业内的Native Module的统一开发 / 输出标准,实现Native Module的大一统。工具

Expo的下一步

还记得使人厌恶的Native Module的倒入过程吗?修改客户端代码对于react native开发者来讲是一个极大的挑战,简简单单装个包动不动一天就过去了。在下一个版本中unimodules将完全抹平这一步,只要npm install,只要npm install,只要npm install,就足够了。调试

小结

咱们能够看到的是Expo在逐步地拆分本身的能力,让用户去逐一选择他们所须要Expo所提供的内容,而不是像某些产品上来就给你套一个全家桶,不用全家桶啥都不能用的强盗逻辑。咱们暂且不去论述这个选择对于Expo自己做为一个产品的好处坏处,但对于开发者这必定是一件极好的事情。十分期待Expo在将来给react native开发赋予的新能力、新内容。code

关于如何使用unimodules与原文

You can now use Expo APIs in any React Native appcdn

相关文章
相关标签/搜索