大家好,我是Kason。多年来,前端框架一直在螺旋式发展。具体来说,很多主流的前端框架采用的技术其实很早就发明了。比如10年,“细粒度更新”在Knockout中首创。新框架的出现一般遵循:新的“idea”+现有技术的组合近两年,最流行的“idea”是Svelte带来的“重新编译”的概念。这也让他成为StackOverflow21年开发者报告中最受欢迎的框架。然而,开源世界和工业世界可能会出现两种情况:开发者说“哦,这个框架不错”,但是在写项目的时候,本体却很老老实实的选择了React。这也不能怪开发商。毕竟,生态是前端框架最重要的部分。本文想谈的是一个很可能制约Svelte生态发展的因素。VUE3在选技术的时候讲到VUE3,有一个考虑点:要不要把“虚拟DOM”去掉,拥抱“重新编译”,“虚拟DOM”的作用是找出交互引起的UI变化部分。而VUE3采用的是“细粒度更新”。理论上只要粒度够细,根本不需要“虚拟DOM”。通常,依赖于“虚拟DOM”的框架,“虚拟DOM”会占据一半以上的运行时工作量(如React、VUE)。如果能够去除“虚拟DOM”,可以带来以下好处:封装后的框架代码体积减小,运行时交互导致UI更新过程更短。不过,VUE3最终还是保留了“虚拟DOM”。其中一个重要的原因是:“虚拟DOM”可以弥补“模板语言”的局限性。比如当你需要在VUE中实现“布局组件”时:
