12种JavaScript常用的MVC框架比较分析


Posted in Javascript onNovember 16, 2015

本文详细讲述了12种JavaScript常用的MVC框架。分享给大家供大家参考,具体如下:

Gordon L. Hempton是西雅图的一位黑客和设计师,他花费了几个月的时间研究和比较了12种流行的JavaScript MVC框架,并在博客中总结了每种框架的优缺点,最终的结果是,Ember.js胜出。

此次比较针对的特性标准有四种,分别是:

① UI绑定(UI Bindings)
② 复合视图(Composed Views)
③ Web表现层(Web Presentation Layer)
④ 与其他框架良好协作(Plays Nicely with Others)

对于各种JavaScript MVC框架,Gordon都总结了优缺点:

1. Backbone.js ——优点:强大的社区,强劲的势头;缺点:抽象较弱,很多功能亟待增加。

2. SproutCore ——优点:对绑定的支持,可靠的社区,大量特性;缺点:过度规范,难以和不需要的特性解耦。

3. Sammy.js ——优点:易于学习,更容易和现存的服务端应用程序整合;缺点:过于简单,无法应用于大型应用程序中。

4. Spine.js ——优点:轻量级,文档很完备;缺点:它的核心概念“spine”是异步的用户界面,这意味着理想状况用户界面永远不会发生堵塞,而这个基础有缺陷。

5. Cappuccino ——优点:大型深思熟虑后的框架,良好的社区,很棒的继承模型;缺点:由iOS开发者创建,使用JavaScript模拟Objective-C。

6. Knockout.js ——优点:对绑定的支持,完备的文档和教程;缺点:绑定语法拙劣,缺少统一的视图组件层级关系。

7. Javascript MVC ——优点:可靠的社区;缺点:基于字符串的继承模型很差,控制器与视图关系过密而缺少绑定。

8. GWT(Google Web Toolkit) ——优点:全面的框架,良好的社区,可靠的基于Java的组件继承模型;缺点:可能无法经受时间的考验,另外,Java在客户端上的抽象有些笨拙。

9. Google Closure ——优点:很好的基于组件的UI组合系统。缺点:缺少UI绑定支持。

10. Ember.js ——优点:很丰富的模板系统,拥有复合视图和UI绑定;缺点:相对较新,文档不够完备。

11. Angular.js ——优点:对模板范围和控制器设计有很好的考虑,拥有依赖注入系统,支持丰富的UI绑定语法。缺点:代码的模块性不强,视图的模块化也不够。

12. Batman.js ——优点:代码清晰,绑定、持久化的方法简单;缺点:使用了单例控制器。

经过对以上各种Javascript MVC框架特性的比较,Gordon认为只有Ember.js能够完全满足他的要求,从而成为他最终选用的框架。

你是否也使用过某些JavaScript MVC框架呢?欢迎参与讨论。

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
jQuery 注意事项 与原因分析
Apr 24 Javascript
JavaScript 学习笔记(九)call和apply方法
Jan 11 Javascript
JQuery,Extjs,YUI,Prototype,Dojo 等JS框架的区别和应用场景简述
Apr 15 Javascript
浅析jquery的作用与优势
Dec 02 Javascript
javascript获取浏览器类型和版本的方法(js获取浏览器版本)
Mar 13 Javascript
分享28款免费实用的 JQuery 图片和内容滑块插件
Dec 15 Javascript
jQuery结合CSS制作漂亮的select下拉菜单
May 03 Javascript
详解javascript实现瀑布流列式布局
Jan 29 Javascript
全面了解JS中的匿名函数
Jun 29 Javascript
js轮播图无缝滚动效果
Jun 17 Javascript
利用angular、react和vue实现相同的面试题组件
Feb 19 Javascript
vue-cli随机生成port源码的方法
Sep 02 Javascript
跟我学习javascript的函数和函数表达式
Nov 16 #Javascript
使用JQuery FancyBox插件实现图片展示特效
Nov 16 #Javascript
uploadify多文件上传参数设置技巧
Nov 16 #Javascript
跟我学习javascript的var预解析与函数声明提升
Nov 16 #Javascript
跟我学习javascript的全局变量
Nov 16 #Javascript
浅析JavaScript访问对象属性和方法及区别
Nov 16 #Javascript
跟我学习javascript的基本类型和引用类型
Nov 16 #Javascript
You might like
php 文章调用类代码
2011/08/11 PHP
调整PHP的性能
2013/10/30 PHP
PHP利用超级全局变量$_GET来接收表单数据的实例
2016/11/05 PHP
网上应用的一个不错common.js脚本
2007/08/08 Javascript
JQUERY1.6 使用方法四 检测浏览器
2011/11/23 Javascript
兼容所有浏览器的js复制插件Zero使用介绍
2014/03/19 Javascript
基于NodeJS的前后端分离的思考与实践(四)安全问题解决方案
2014/09/26 NodeJs
javascript中的正则表达式使用详解
2015/08/30 Javascript
JavaScript寄生组合式继承实例详解
2018/01/06 Javascript
JS获取并处理php数组的方法实例分析
2018/09/04 Javascript
深入学习JavaScript 高阶函数
2019/06/11 Javascript
element-ui 远程搜索组件el-select在项目中组件化的实现代码
2019/12/04 Javascript
基于JS实现操作成功之后自动跳转页面
2020/09/25 Javascript
Python实现将xml导入至excel
2015/11/20 Python
开源Web应用框架Django图文教程
2017/03/09 Python
Python入门之三角函数sin()函数实例详解
2017/11/08 Python
用python拟合等角螺线的实现示例
2019/12/27 Python
pandas 像SQL一样使用WHERE IN查询条件说明
2020/06/05 Python
详解使用Python写一个向数据库填充数据的小工具(推荐)
2020/09/11 Python
python利用faker库批量生成测试数据
2020/10/15 Python
html5用video标签流式加载的实现
2020/05/20 HTML / CSS
美国咖啡批发网站:Coffee.org
2017/06/29 全球购物
Pretty Little Thing美国:时尚女性服饰
2018/08/27 全球购物
澳大利亚二手奢侈品网站:Modsie
2019/09/23 全球购物
美国排名第一的葡萄酒俱乐部:Firstleaf Wine Club
2020/01/02 全球购物
英国哈罗德园艺:Harrod Horticultural
2020/03/31 全球购物
一年级数学教学反思
2014/02/01 职场文书
司机职责范本
2014/03/08 职场文书
医德医风自我评价
2014/09/19 职场文书
2014年艾滋病防治工作总结
2014/12/10 职场文书
2014年园林绿化工作总结
2014/12/11 职场文书
陈斌强事迹观后感
2015/06/17 职场文书
党员学习中国梦心得体会
2016/01/05 职场文书
高效课堂教学反思
2016/02/24 职场文书
使用react+redux实现计数器功能及遇到问题
2021/06/02 Javascript
mysql使用 not int 子查询隐含陷阱
2022/04/12 MySQL