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 相关文章推荐
JS 时间显示效果代码
Aug 23 Javascript
JQuery.closest(),parent(),parents()寻找父结点
Feb 17 Javascript
在jQuery中 关于json空对象筛选替换
Apr 15 Javascript
Easyui笔记2:实现datagrid多行删除的示例代码
Jan 14 Javascript
面试常见的js算法题
Mar 23 Javascript
JavaScript基于面向对象实现的猜拳游戏
Jan 03 Javascript
iview日期控件,双向绑定日期格式的方法
Mar 15 Javascript
vue实现form表单与table表格的数据关联功能示例
Jan 29 Javascript
实现vuex与组件data之间的数据同步更新方式
Nov 12 Javascript
在vue中利用v-html按分号将文本换行的例子
Nov 14 Javascript
Vue实现简易计算器
Feb 25 Javascript
JS实现按比例缩小图片宽高
Aug 24 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
使用 MySQL 开始 PHP 会话
2006/12/21 PHP
PHP程序员编程注意事项
2008/04/10 PHP
初识laravel5
2015/03/02 PHP
jQuery去掉字符串起始和结尾的空格(多种方法实现)
2013/04/01 Javascript
分析Node.js connect ECONNREFUSED错误
2013/04/09 Javascript
js中自定义方法实现停留几秒sleep
2014/07/11 Javascript
Jquery对象和Dom对象的区别分析
2014/11/20 Javascript
Javascript基础教程之数据类型 (字符串 String)
2015/01/18 Javascript
Javascript中的call()方法介绍
2015/03/15 Javascript
在Linux系统中搭建Node.js开发环境的简单步骤讲解
2016/01/26 Javascript
jQuery设置Cookie及删除Cookie实例分析
2016/04/15 Javascript
Javascript 5种方法实现过滤删除前后所有空格
2016/06/22 Javascript
AngularJS中$injector、$rootScope和$scope的概念和关联关系深入分析
2017/01/19 Javascript
php简单数据库操作类的封装
2017/06/08 Javascript
socket io与vue-cli的结合使用的示例代码
2018/11/01 Javascript
详解基于vue-cli3快速发布一个fullpage组件
2019/03/08 Javascript
小程序实现左滑删除的效果的实例代码
2020/10/19 Javascript
Python3实现并发检验代理池地址的方法
2016/09/18 Python
python使用matplotlib绘制柱状图教程
2017/02/08 Python
Python中对象的引用与复制代码示例
2017/12/04 Python
Python partial函数原理及用法解析
2019/12/11 Python
Python PyPDF2模块安装使用解析
2020/01/19 Python
pyspark给dataframe增加新的一列的实现示例
2020/04/24 Python
详解Python的爬虫框架 Scrapy
2020/08/03 Python
python 获取字典键值对的实现
2020/11/12 Python
Html5移动端获奖无缝滚动动画实现示例
2018/06/25 HTML / CSS
HTML5 Canvas+JS控制电脑或手机上的摄像头实例
2014/05/03 HTML / CSS
canvas实现二维码和图片合成的示例代码
2018/08/01 HTML / CSS
港湾网络笔试题
2014/04/19 面试题
幼儿教师个人求职信范文
2013/09/21 职场文书
教育系毕业生中文求职信范文
2013/10/06 职场文书
爽歪歪广告词
2014/03/20 职场文书
小学德育工作经验交流材料
2014/05/22 职场文书
司机工作自我鉴定
2014/09/19 职场文书
学雷锋团日活动总结
2015/05/06 职场文书
董事长新年致辞
2015/07/29 职场文书