深入浅出Vue.js
刘博文
序一
近几年,JavaScript的流行库和框架带有元编程(metaprogramming)的特征。所谓元编程,简单来说,是指框架的作者使用一种编程语言固有的语言特性,创造出相对新的语言特性,使得最终使用者能够以新的语法和语义来构建他们的应用程序,从而在某些领域开发中获得更好的开发体验。
早期的jQuery库之所以获得开发者们的认可,很大程度上是因为它独创的链式语法和隐式迭代语义。尽管jQuery仅仅通过巧妙设计API就能支持上述特性,并不依赖于编程语言赋予的元编程能力,但是毫无疑问,它以一种精巧的设计理念和思路,为JavaScript库和框架的设计者打开了一扇创新的大门。
今天的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和如何使用元编程思想将新特性融入到框架中,…