最早,我接触到的是微信小程序,也就是典型的「API工程师」,总想探一探小程序是如何实现。期间通过逆向虽然能拿到微信小程序的“源码”,但是这不是实际意义上的源码,看起来太困难了,这些代码都经过了「代码加工厂」进行处理(典型的代码加工厂 webpack),比如 JS 压缩,文件合并等。
如今,市面上不止有微信小程序,这些小程序实现原理基本一样,而且 API 长的都一样。与其探索微信小程序的实现原理,还不如绕道而行,找真正的源码学习。最佳方案是学习百度智能小程序的实现,他的前端代码是开源的,代码地址:https://github.com/swan-team/swan-js。不过端的代码并没有开源,你可以理解为端做了一些 Bridge,更重要的是前端的实现。
比如我们看看小程序 app 的生命周期是如何实现的:
我们看看一个 Page 究竟是什么:
不仅如此,还能学到这些大厂程序员是如何使用 JS 的。
大家加油!关注我,为思考点赞。
推荐阅读: 对象的 key 原来可以使用变量 vim 电脑壁纸来了(3种主题)