vue,angular,avalon这三种MVVM框架之间有什么优缺点
Vue.js
优点:
简单:官文档清晰比 Angular 简单易
快速:异步批处理式更新 DOM
组合:用解耦、复用组件组合应用程序
紧凑:~18kb min+gzip且依赖
强:表达式 & 需声明依赖推导属性 (computed properties)
模块友:通 NPM、Bower 或 Duo 安装强迫所代码都遵循 Angular 各种规定使用场景更加灵
缺点:
新:Vue.js新项目20143月20发布0.10.0 Release Candidate版本目前github面新0.11.4版本没angular熟
影响度:google关于Vue.js性或者说丰富性少于其些名库
支持IE8:哈哈AngularJS 1.3抛弃IE8支持avalon支持IE6+应该努力优化点于些需要支持IE8项目web前端发趋势像IE低版本应该退历史舞台通改变我前端思维顺应些使用版本升级
AngularJS
优点:
态视图:前没想js扩展HTML属性AngularJs做替我静态HTML加扩展性功能种让HTML由死变觉
完善:比较完善前端MVW框架包含模板数据双向绑定路由模块化服务依赖注入等所功能模板功能强丰富并且声明式自带丰富 Angular 指令
Google维护:AngularJSGoogle维护疑强台于推广维护明显比Vue.jsavalon优势社区非泼能够促进发展
AngularJS & Ionic:Ionic: Advanced HTML5 Hybrid Mobile App Framework俩基友Ionic通用AngularJS创建框架适合发丰富强应用程序
缺点:
全:习起难度于我讲习曲线曲折比较难理解些
推翻重写:前段候逛社区发现AngularJS2.0前推翻重写两框架改变基本两框架等于说等2.0需要始支持IE8貌似2.0变支持移端等再看吧
Avalon.js
优点
使用简单HTML添加绑定JS用avalon.define定义ViewModel再调用avalon.scan能
兼容 IE6 (其MVVM框架KnockoutJS(IE6), AngularJS(IE9), EmberJS(IE8), WinJS(IE9) )另avalon.mobile更高效运行于IE10等新版本浏览器
没任何依赖5000行压缩50KiB
支持管道符风格滤函数便格式化输
局部刷新颗粒度已细化文本节点特性节点
要操作节点第扫描与视图刷新函数相绑定并缓存起没选择器场余
让DOM操作代码近乎绝迹
使用类似CSS重叠覆盖机制让各ViewModel区交替渲染页面
节点移除智能卸载应视图刷新函数节约内存
操作数据即操作DOMViewModel操作都同步View与Model
自带AMD模块加载器省与其加载器进行整合
缺点
1数组滤没angular面avalon滤器能用于ms-text, ms-html
2没英文文档宣传受限制(许误我博客园入门教程官网)
3OniUI皮肤够看许说要配合boostrap社区没主站做事
vue,angular,avalon这三种MVVM框架之间有什么优缺点
Vue.js
优点:
简单:官方文档很清晰,比 Angular 简单易学。
快速:异步批处理方式更新 DOM。
组合:用解耦的、可复用的组件组合你的应用程序。
紧凑:~18kb min+gzip,且无依赖。
强大:表达式 & 无需声明依赖的可推导属性 (computed properties)。
对模块友好:可以通过 NPM、Bower 或 Duo 安装,不强迫你所有的代码都遵循 Angular 的各种规定,使用场景更加灵活。
缺点:
新生儿:Vue.js是一个新的项目,2014年3月20日发布的0.10.0 Release Candidate版本,目前github上面最新的是0.11.4版本,没有angular那么成熟。
影响度不是很大:google了一下,有关于Vue.js多样性或者说丰富性少于其他一些有名的库。
不支持IE8:哈哈不过AngularJS 1.3也抛弃了对IE8的支持
AngularJS
AngularJS最近很火,追随者也很多。 Superheroic JavaScript MVW Framework
官方说得很朴素:“完全使用JavaScript编写的客户端技术。同其他历史悠久的Web技术(HTML、CSS和JavaScript)配合使用,使Web应用开发比以往更简单、更快捷“。当你学习它的时候,我相信你会被它的很多新特效所吸引。
优点:
动态视图:以前从来没有想过js可以如此扩展HTML的属性,但是AngularJs做到了,它替我们静态的HTML加了很多扩展性功能,有一种让HTML由死变活的感觉。
完善:是一个比较完善的前端MVW框架,包含模板,数据双向绑定,路由,模块化,服务,依赖注入等所有功能,模板功能强大丰富,并且是声明式的,自带了丰富的 Angular 指令。
Google维护:AngularJS有Google来维护,无疑有了一个强大的后台,对于推广和维护明显比Vue.js和avalon有优势,社区也非常活泼,能够很好促进它的发展。
AngularJS & Ionic:Ionic: Advanced HTML5 Hybrid Mobile App Framework,这俩就是一个好基友,Ionic通过用AngularJS为了创建一个框架,最适合开发的丰富和强大的应用程序。上次于知乎答了一个相关问题做webapp开发,性能和效率最好的框架和打包app平台分别是哪个? - 汤威的回答,详细可以见这里。
缺点:
大而全:学习起来有难度,对于我来讲学习曲线很曲折,比较难理解一些。
推翻重写:前段时候逛社区发现AngularJS2.0会把之前的推翻重写,两个框架的改变很大,基本是两个框架了,等于是说等到2.0出来后又需要从头开始,不过又说回来
Avalon.js
优点
使用简单,在HTML中添加绑定,在JS中用avalon.define定义ViewModel,再调用avalon.scan方法,它就能动了!
兼容到 IE6 (其他MVVM框架,KnockoutJS(IE6), AngularJS(IE9), EmberJS(IE8), WinJS(IE9) ),另有avalon.mobile,它可以更高效地运行于IE10等新版本浏览器中
没有任何依赖,不到5000行,压缩后不到50KiB
支持管道符风格的过滤函数,方便格式化输出
局部刷新的颗粒度已细化到一个文本节点,特性节点
要操作的节点,在第一次扫描就与视图刷新函数相绑定,并缓存起来,因此没有选择器出场的余地。
让DOM操作的代码近乎绝迹
使用类似CSS的重叠覆盖机制,让各个ViewModel分区交替地渲染页面
节点移除时,智能卸载对应的视图刷新函数,节约内存
操作数据即操作DOM,对ViewModel的操作都会同步到View与Model去
自带AMD模块加载器,省得与其他加载器进行整合。
缺点
缺点可以看这里相比Angular,Avalon有什么缺点呢? - 司徒正美的回答
终于答完了,还有一些我没有找到的还有错误的希望大家指出。