
刘博文
本书从源码层面分析了Vue.js。首先,简要介绍了Vue.js;然后详细讲解了其内部核心技术“变化侦测”,这里带领大家从0到1实现一个简单的“变化侦测”系统;接着详细介绍了虚拟DOM技术,其中包括虚拟DOM的原理及其patching算法;紧接着详细讨论了模板编译技术,其中包括模板解析器的实现原理、优化器的原理以及代码生成器的原理;最后详细介绍了其整体架构以及提供给我们使用的各种API的内部原理,同时还介绍了生命周期、错误处理、指令系统与模板过滤器等功能的原理。 本书适合前端开发人员阅读。
这是一本五年前的技术书,对于技术迭代来说算是很老旧了,但丝毫不影响内容的时效性,这本书可以也许成为经典的原因吧 读这本书的有一个原因是因为作者的励志经历影响了我。一个中专毕业生,转行进入了我这个行业,靠着自己的勤奋努力后面进入了国内大厂顶级技术团队,之后一路打怪升级成为阿里巴巴最年轻的技术专家,在阿里的工作成就也是大放异彩。写这本书的时候他才工作六七年,虽然跟我现在工作年限差不多,但比我强太多了。很难想象,当今学历如此重要的社会,他却是那个个例,完成了人生的反转 因为这本书出版时间的关系,我以为内容可能会有些过时,但我发现万变不离其宗,从源码解读上,学习到的技术思想和代码设计能力是永远不会过时。简单来说这本书的内容,我还是比较满意的。对讲解的源码取其精华,深入浅出,对于我这个多年框架开发经验的人来说,也是可以查漏补缺,温故而知新的。技术点基本覆盖了框架的方方面面和日常开发会遇到的问题、最佳实战等,最好可以实际结合源码一起研究分析和日常工作中发现的一些问题,如何通过源码层面发现问题到解决问题,可能收获会更大吧 所以这不仅是一本写的通俗易懂的框架源码解析的书,也是一本构建升级你技术视野和解决问题能力的书籍。随着这个行业的人越来越多,如何区分人与人之间的分水岭,保留自己的竞争力呢?也许,学会前沿框架的设计和实现,掌握底层原理,就是不错的选择吧,早一天学到,早一天受益
基于Vue2.x的一本好书,作者是一名95后资深前端。 印象中出版很久了,但其实是2019年,不算久。 本书不是讲Vue的用法,而是讲Vue做了什么,是该领域唯一一本纯原理讲解书籍。 该怎么理解这种原理探究呢,说到底,框架本身就是一套运行良好的程序,只是普通开发者需要在这个程序的基础上继续编程,那么框架就要对开发者写的代码进行识别、转换、输出。要说很高深的技术也没有,但复杂度肯定有,需要较清晰的思路,较好的架构和组织,完善的场景考虑,代码执行性能要很好,模块间的分工、协作也要很好,是件相当复杂的事,需要持续地维护和优化。 通过本书,可以一窥Vue的运行机制,对各种情况的处理,对源码阅读也是很好的辅助。同时能够在更深理解的基础上,最大化地发挥Vue的长处,以及避免一些不恰当的操作。适合反复研读。
同为声明式框架,Vue的实现还是有其独到之处的,特别是虚拟节点更新的机制。本书把这些特点的基本原来拆开揉碎了展示出来,值得一读。
深入vue2版本的源码,很有收获
写的挺好,对于源码的摘抄也更加的清晰易懂,对于观察者模式的讲解很深入,能够理解,同时让我对vue有了更进一步的认识,能够了解框架的搭建,大多来自于对js的透彻理解。 但真的结合框架想要跑出一个小型的vue项目,还需要自己去拆解源码,希望有时间再读一遍,自己能够写一个小型的运行源码出来。
今天的Web产品对构建用户界面的要求越来越高,jQuery的方式不能满足构建复杂用户界面的需要,新的UI框架快速发展,其中一个最流行的框架就是Vue.js。与jQuery相比,Vue.js更强大,也具有更加明显的元编程特征。动态绑定属性和变化侦测、内置模板和依赖于模板语法的声明式渲染、可扩展的指令、支持嵌套的组件,这些原生JavaScript并不具备的特征和能力被一一融入,框架的使用者在使用Vue.js开发Web应用时,事实上获得了超越JavaScript原生语言特性的能力。 尽管Vue.js框架赋予开发者众多特性和能力,但它仍然是使用原生JavaScript实现的应用框架。JavaScript自身提供了许多元编程特性,比如从ES5就开始支持的属性访问器(property accessor),ES6支持的代理(proxy),还有标准提案已经处于Stage 3阶段的装饰器(decorator)。基于这些语言特性,我们能够比较方便地扩展新的语言特性,将这些特性融入应用框架,从而使得应用开发者能够更加得心应手地使用框架开发出优雅、简洁的应用程序模块。 如何设计API和如何使用元编程思想将新特性融入到框架中,是现代JavaScript框架设计的两个核心,Vue.js更侧重于后者。理解元编程思想有助于深刻理解Vue.js的本质。而理解元编程思想本身最好的方法又是通过深入研究Vue.js的源码,因为元编程思想一旦涉及具体实现,不仅仅是使用JavaScirpt提供的特性来扩展能力那么简单,这其中有许多细节需要考虑,比如要做到向下兼容,那么就要对一些特性的实现方式做出取舍,一些语言能力可以通过书写向下兼容代码来弥补,而另一些则需要通过编译机制来做到,还有一些则必须舍弃;同样,基于性能考虑,一些特性也可能需要做出一定的修改或妥协。这些问题不仅在框架设计和实现的过程中会遇到,而且在具体实现应用程序的过程中也会遇到。因此,通过学习Vue.js,我们不仅能够掌握设计应用程序框架的一般性技巧,还可以在实现应用程序时运用其中的具体设计思想和方法论。
经典好书 讲的是vue2x源码,需要一定的vue和JavaScript基础,不建议vue新手直接阅读。
还可以,有一定的vue框架使用经验看更好。最后一章放了太多vue官方文档上的最佳实践了,内容基本一模一样,感觉有点凑字数了,这个直接看文档就可以了。如果是作者本人在工作中总结出来的好的实践写出来就更好。
感觉很不错,只是有的底层原理自己看的不是很懂,以后有机会需要再读一遍,学习了一些高端写法个自己的知识盲点,值得推荐
Vue.js是提供了变化探测能力的JavaScript框架。通过模板来描述状态与视图之间的映射关系。先将模板编译成渲染函数,然后执行渲染函数生成虚拟节点,最后使用虚拟节点更新视图。