持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第10天,点击查看活动详情
第一篇 框架设计概览
权衡的艺术 总结
在这一个小章节里,我感受最深的就是权衡两字,权是丈量,衡是比较。其实作者再说这个框架的设计之初,其实就是取了平衡点,这也是认真权衡之后做出的决定,因此我们才能看到现在这样的VueJs.
- 首先,权衡命令式和声明式。 React中大部分其实都是命令式,虽然有JSX,但是本质上JSX仍是js语法,并不是XML。所以,我认为react就是99%的命令式,那么最后的结果呢,毫无疑问,react的性能不算高,上手门槛高,源码极其复杂。这也就说明,命令式代码的优化难度很高,你很难写出即少又优化的代码,你只能通过空间去换时间,这也是一个不错的优化思路。
Vue就是取了平衡点,同时兼具2种方式,通过声明式转换为命令式的过程中,去做一些力所能及的优化,达到不错的性能,但是上手门槛低,源码也没react复杂。
纯声明式的框架我觉得就只有HTML(不包含JS、CSS),但是它反而更加复杂,而且你也没办法用它做复杂的应用,难道会有人内联js写几百行?所以,现代web开发其实只把HTML当作骨架来使用,CSS作为画皮,JS作为执行。
- 性能和可维护性的平衡
Vue再次取了一个平衡点,通过更符合视觉理解的声明式代码,来降低了入门难度,提高了可维护性。
- 虚拟DOM的性能到底如何
这一章里比较了虚拟dom和innerHTML的性能。我觉得这里有点不全面,但是却很有代表性,得出了结论就是虚拟DOM的性能在某些情况下会比innerHTML更好,倒不如说虚拟dom可以做到更细度的更新。同时虚拟DOM也是心智负担、性能、可维护性三方妥协的平衡点。
- 运行时和编译时 再次体现了Vue的平衡点,它始终希望减少用户的心智负担,把优化放到编译时由框架来做,做到差不多的性能。
从以上几点可以看出,Vue自诞生之初,主旨就是平衡2字。所以,有的时候,你想为什么Vue要这样做,而react、svelte等等框架要那样做呢,其实就是这个原因。
Vue在平衡中小心去试探优化,试探变革,我认为Vue更像一个谨小慎微的淘金人,它知道前面有很多机遇,但是每次却只关注自己目光能看到的地方。
之前几篇的链接