[关闭]
@buluoXu 2015-08-06T08:15:06.000000Z 字数 2004 阅读 2396

Vue.js与ng比较

Vue.js 是一个用于创建 Web 交互界面的库。
它让你通过简单而灵活的 API 创建由数据驱动的 UI 组件。

发布人:徐仁朝

vuejs


vuejs特点

1、简洁

HTML 模板 + JSON 数据,再创建一个 Vue 实例,就这么简单。

2、数据驱动

自动追踪依赖的模板表达式和计算属性 (computed properties)。

3、组件化

用解耦、可复用的组件来构造你的界面。

4、轻量

~22kb min+gzip,无依赖。

5、快速

精确有效的异步批量 DOM 更新。

6、模块友好

通过 NPM、Bower 或 Duo 安装,无缝融入你的工作流


喜欢vuejs的理由


vue,angular比较


Vue.js介绍

Vue.js @尤雨溪 老师写的一个用于创建 web 交互界面的库,是一个精简的 MVVM。从技术角度讲,Vue.js 专注于 MVVM 模型的 ViewModel 层。它通过双向数据绑定把 View 层和 Model 层连接了起来。实际的 DOM 封装和输出格式都被抽象为了Directives 和 Filters。Vue.js和其他库相比是一个小而美的库,作者的主要目的是通过一个尽量简单的 API 产生可反映的数据绑定和可组合的视图组件,感觉作者的思路非常清晰。
优点:

  1. 简单:官方文档很清晰,比 Angular 简单易学。
  2. 快速:异步批处理方式更新 DOM。
  3. 组合:用解耦的、可复用的组件组合你的应用程序。
  4. 紧凑:~22kb min+gzip,无依赖。
  5. 强大:表达式 & 无需声明依赖的可推导属性 (computed properties)。
  6. 对模块友好:可以通过 NPM、Bower 或 Duo 安装,不强迫你所有的代码都遵循 Angular 的各种规定,使用场景更加灵活。

缺点:

  1. 新生儿:Vue.js是一个新的项目,2014年3月20日发布的0.10.0 Release Candidate版本,目前github上面最新的是0.12.9版本,没有angular那么成熟。
  2. 影响度不是很大:google了一下,有关于Vue.js多样性或者说丰富性少于其他一些有名的库。
  3. 不支持IE8:哈哈不过AngularJS 1.3也抛弃了对IE8的支持,但是 @司徒正美 老师的avalon是支持IE6+的,应该下了很多努力去优化。这一点对于那些需要支持IE8的项目就不好了,不过这也是web前端开发的一个趋势,像IE低版本就应该退出历史舞台了,通过改变我们的前端思维,而不是顺应那些使用老版本而不去升级的人。 @玉伯 老师就说过一句话,我觉得说的非常好“这年头,支持 IE6、7 早就不再是特性,而是耻辱。努力推动支付宝全面不支持 IE6、7,期待更多兄弟加盟”。

AngularJS

AngularJS最近很火,追随者也很多。 Superheroic JavaScript MVW Framework
官方说得很朴素:“完全使用JavaScript编写的客户端技术。同其他历史悠久的Web技术(HTML、CSS和JavaScript)配合使用,使Web应用开发比以往更简单、更快捷“。当你学习它的时候,我相信你会被它的很多新特效所吸引。
优点:

  1. 动态视图:以前从来没有想过js可以如此扩展HTML的属性,但是AngularJs做到了,它替我们静态的HTML加了很多扩展性功能,有一种让HTML由死变活的感觉。
  2. 完善:是一个比较完善的前端MVW框架,包含模板,数据双向绑定,路由,模块化,服务,依赖注入等所有功能,模板功能强大丰富,并且是声明式的,自带了丰富的 Angular 指令。
  3. Google维护:AngularJS有Google来维护,无疑有了一个强大的后台,对于推广和维护明显比Vue.js和avalon有优势,社区也非常活泼,能够很好促进它的发展。
  4. AngularJS & Ionic:Ionic: Advanced HTML5 Hybrid Mobile App Framework,这俩就是一个好基友,Ionic通过用AngularJS为了创建一个框架,最适合开发的丰富和强大的应用程序。上次于知乎答了一个相关问题做webapp开发,性能和效率最好的框架和打包app平台分别是哪个? - 汤威的回答,详细可以见这里。

缺点:

  1. 大而全:学习起来有难度,对于我来讲学习曲线很曲折,比较难理解一些。
  2. 推翻重写:前段时候逛社区发现AngularJS2.0会把之前的推翻重写,两个框架的改变很大,基本是两个框架了,等于是说等到2.0出来后又需要从头开始,不过又说回来, @徐飞 老师的[翻译]有关Angular 2.0的一切 · Issue #8 · xufei/blog · GitHub 这篇文章很好说明了AngularJS2.0的变化。
  3. 不支持IE8以下,貌似2.0变得只支持移动端了,等到出来后再看吧。

相关推荐

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注