课程目标
了解什么是虚拟DOM,以及虚拟DOM的作用
Snabbdom的基本使用
Snabbdom的源码解析

什么是虚拟DOM

由普通的JS对象来描述的DOM对象称之为虚拟DOM( Virtual DOM )

为什么使用虚拟DOM

手动操作DOM比较麻烦,还需要考虑浏览器兼容性问题
为了简化DOM操作出现了各种MVVM框架,MVVM框架解决了视图和状态同步的问题
为了简化视图的操作我们可以使用模板引擎,但是模板引擎没有解决跟踪状态变化的问题,于是有了虚拟DOM
虚拟DOM的好处在于当状态改变时不需要立即更新DOM,只需要创建一个虚拟树来描述DOM,虚拟DOM内部将弄清楚如何有效的通过diff算法来更新DOM