Vue 设计的核心思想,其中非常重要的一环是渲染器的设计。在使用的过程中你肯定遇到过 render、h、vnode、虚拟 DOM 这些概念。但是对于一个框架设计者来说为何要引出这些概念,它们的出现是为了解决哪些问题。
最近连续几周都在看 Vue 相关的编程思想,这个框架本身以及与它周边生态相关的知识真不少。如果你工作几年后,每天写业务不知道如何进步,可以学习一下 Vue 的编程思想,争取做一名 Contributor。
其实看源码并不是一种好的学习方式,最重要的理解这个框架为了解决哪些问题而出现,解决这些问题时采用了哪些「原生(浏览器所支持的)」的技术手段。大多数开源库都是建立在其它开源库之上,能不能用好这些开源库解决我们工作中遇到的问题,这是重中之重。
言归正传
最近看了 Vue3 的贡献者 @HcySunYang 写的一本免费电子书「渲染器」,深受启发,特地再次普及一下。如果你对虚拟 DOM 也可看下 snabbdom 这个库,vue 的虚拟 DOM 也是基于这个库改造而来。
这本电子书的目录如下:
如果感兴趣,可以通过这个地址学习:
http://hcysun.me/vue-design/zh/
大家周末愉快。
长按关注
素燕《前端小课》
帮助 10W 人入门并进阶前端
官网:https://lefex.gitee.io/