Vue

ARV 渲染实现番外篇之 Mithril

这个系列本来没有打算去研究 AngularReactVue 之外的框架,但是 上次的性能测试Mithril 这个框架格外引人注目,毕竟他的成绩超过了其他所有框架。因为我没有在项目中用过 Mithril,所以只能从其文档及代码中寻找他惊人能力背后的实现。因为这个是番外篇了,所以可能不会太严谨,科普性质吧。

Mithril

Mithril 翻译过来就是秘银的意思,这是魔幻小说或游戏里面才有的虚构金属物质,基本上是最好的金属,可以打造出最上等的武器装备。可能作者希望这个库就是那么厉害的东西,而且用 Mithril 做出来的产品也是上等的吧。他的第一个版本于 2014 年 3 月发布,相比 React (2013 年 5 月),Vue (2013 年 12 月),都要晚一点,而现在也只发布到 0.2.3 版本。

阅读全文

ARV 渲染实现比较总结

前面我已经分析了 AngularReactVue 的渲染实现及其性能:

直观一点地的看他们之间的效率对比可以看一下这一个 性能评估测试

阅读全文

ARV 渲染实现比较之 Vue

之前已经分析了 AngularReact 的渲染:

今天来分析 Vue

Vue

Vue 是一个新兴的前端视图框架,他做的事情跟 React 很类似,实现了前端组件化以及 View-ViewModel 绑定,但是同时又支持跟 Angular 很类似的模版语法,以及比 Angular 更方便的 filter 和 directive 定义方法,大大提高了开发效率。React 和 Angular 都熟悉的开发者转到 Vue 使用起来十分方便得心应手。

如果只是 React 跟 Angular 两者优点的结合,那 Vue 也没那么出彩,然而他的渲染效率甚至是 React 的 10 倍之多,这也是很多开发者转向 Vue 的理由。

阅读全文

ARV 渲染实现比较之 React

我在 上一篇 总结了 Angular 的渲染实现,今天我们来看看 React

React

React 的渲染套路简单来说就是虚拟DOM树(Virtual DOM)。React 的思想有点儿像 Web Component,但是他又是一个独立的实现,可以纯粹使用 js 逻辑实现了前端组件化。看似 HTML + JS 的新语言 JSX,实际上会编译成完全的 js 代码,所有的 HTML 都转换成了 JS 的 DOM 操作,只不过这里操作的 DOM 并不是真正的 DOM,而是 React 实现的一套映射到真正 DOM 的虚拟 DOM。并且 React 的重点在于 ‘React’,即视图响应数据变化。

阅读全文

ARV 渲染实现比较之 Angular

重新开始写博客的第一篇,还是来点干货,在闭关一年多之间,我在项目中使用过 Angular, React, 和 Vue,今天我想说一下他们在渲染方面的一些实现的异同。

首先,要澄清一件事情,这几个东西虽然都可以用来渲染,但是却是不同级别的东西。Angular是一个功能十分强大的 MVVM(Model-View-ViewModel)框架,拥有包括模块化、服务在内的大而全的解决方案;而 React 只是一个组件化虚拟 DOM 库,也就是 View-ViewModel 部分;Vue 也是一个组件化的 View-ViewModel 库,但是他使用了类似 Angular 的模版语法。

Angular 虽然功能很全,但是这就意味着灵活性的降低。包括他自己定义的一套 html 扩展语法到js代码的映射关系,定义服务和过滤器的复杂写法,想用一个非 Angular 系的插件都要回想一下如何遵守他的规定来写扩展,大大降低了我们写代码的积极性。虽然 Angular2 号称解决了很多 Angular1 版本的缺点,但是既然他还在Beta阶段,我也不好去做什么评价。至少现在还没有多少人会去真正的使用它,所以今天这里的 Angular 仅代表他的第一代的产品。

阅读全文