Botanophobia::Logging

生活

反封装

自然这篇文章是来思考李如一的博客《反封装的世界》。在博客中所提到的观点有:

以技术驱动的资本主义世界确实一直是在封装,过去十几年的互联网人也不例外。这很遗憾,因为互联网的本质是反封装,她们原本最有可能产生不一样的未来想像。

很反直觉的是“互联网的本质是反封装”这句话,因为我们都知道,互联网建立在软件和硬件上,充斥着大大小小的协议,不管是软件还是硬件还是协议都是封装。在一个“封装”的土壤上长出来的果子,为什么本质却是“反封装”。(这段怎么读都像是营销号 = m =)

不过在此之前,的确是需要了解“封装”,这部分我理解“封装”也是“具体的抽象化”。对于这部分的阐释,如果需要也可以试试听科技岛读播客101期--《具体的抽象化》。这个世界的确一直在封装,并且封装带来的是一定程度上的便利以及执行效率的下降。在李如一博客中所提供的例子是

相反,「摆路边摊也可以打印二维码然后收钱」则是封装。它没有任何新意:在此之前,摆路边摊一样可以收钱——甚至不需要打印二维码!

但这个例子并不完整。让我们回到过去,我们设定了目标:摆路边摊收钱,然后存入银行。在过去,收到现金的我们,需要在一个特定的日子跑到银行,然后将现金存入。而之后支付宝出现了,它提供了封装,将这个部分简化成了扫描二维码,就可以完成金钱转账。过了一段,微信也出现了,它提供了和支付宝一样的封装。但是这样我们就需要贴两张二维码了。很快新的封装出现了,商家一码付。我们只需要一张二维码就能够解决问题了。通过这个例子,我们就发现了封装给我们带来了便利,但是随之带来的,这钱却在不同平台间跳转,甚至在支付宝商家收款码还需要隔天才能到达银行,效率下降了。同时封装带来的还有风险,有一天支付宝提供的API改变了,以至于商家一码付这一层的封装就不再能用了。我们选择到哪一步停止封装,这就需要考虑封装的便利和效率以及风险的衡量。

通过这个例子就能够发现,“封装”充斥在大量的生活之中。在科研中,研究遗传学的一般不会去涉及更底层的化学键的变化,只会去使用关于 DNA,关于蛋白质的基础知识。即便在日常交流中,我们也会更倾向于使用俗语,比如“不听老人言吃亏在眼前”,因为俗语是对过去人类文明发生的故事的封装。在阅读之前,总会有“TL;DR”或者“Abstract”,摘要也便是封装文章的思想。

那么“反封装”是什么呢?继续援引博客的一句话

这其中牵涉的是封装的反过程。是开箱。是解包。是牵牛花到处乱爬的触手。

以上述的商家一码付为例,反封装就是把商家一码付解包成,判断用什么客户端扫描的二维码,让客户跳转到对应的连接上。正如上文所阐述的,封装必然带来运行效率的下降以及风险,我们假设有一个很蠢的商家一码付的封装方式,【用户需要下载一个App,扫码后会问你用什么方式支付,假设是用支付宝,那么App会调出存储在服务器上的支付宝二维码,然后将它保存在相册,然后再唤起支付宝,扫码。】这是一个极其低效率的,但能用,且方便。当我们解包后,扔掉里面奇怪的跳转,重新封装成目前的商家一码付的形式。效率提升了。所以可以看到,“反封装”与“再封装”是提高执行效率,减少风险的方法,也是不断微小进步的方式。它与人类探索世界,认知自然,历史发展一致。

了解封装之后,那为什么会说“互联网的本质是反封装”。熟悉李如一的文章的朋友,也能够明白,这里的“互联网”,并不是现在用墙,微信等构筑的封闭网络,而是那个早期用超链接连接的开放的自由的网络。很好理解的是,真正的互联网的本质是消除信息不对称,自由,开放。这保证了“反封装”的可能性。程序是对一系列指令的封装,但是在消除了信息不对称的互联网上,我们就都可以获得这个封装的过程,或者说开源,也便可以解包,只运行程序的一部分,或者更改程序其中的一部分。另一个角度上,完全开放的互联网需要绝对的“反封装”,如果存在一点黑盒,就不再是真正的互联网了。

那么互联网就只存在于理想了,不断接近理想,似乎挺浪漫的。