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 相关文章推荐
取选中的radio的值
Jan 11 Javascript
jQuery判断密码强度实现思路及代码
Apr 24 Javascript
Javascript判断图片尺寸大小实例分析
Jun 16 Javascript
JavaScript开发者必备的10个Sublime Text插件
Feb 27 Javascript
使用bootstrap3开发响应式网站
May 12 Javascript
详细分析Javascript中创建对象的四种方式
Aug 17 Javascript
浅析JavaScriptSerializer类的序列化与反序列化
Nov 22 Javascript
学习使用jQuery表单验证插件和日历插件
Feb 13 Javascript
Koa代理Http请求的示例代码
Oct 10 Javascript
es6 for循环中let和var区别详解
Jan 12 Javascript
js实现带箭头的进度流程
Mar 26 Javascript
小程序实现录音功能
Sep 22 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单元测试phpunit入门实例教程
2017/11/17 PHP
Laravel框架查询构造器 CURD操作示例
2019/09/04 PHP
redis+php实现微博(三)微博列表功能详解
2019/09/23 PHP
不懂JavaScript应该怎样学
2008/04/16 Javascript
jquery获取多个checkbox的值异步提交给php
2015/07/07 Javascript
前端jquery部分很精彩
2016/05/03 Javascript
Javascript自执行匿名函数(function() { })()的原理浅析
2016/05/15 Javascript
jQuery绑定事件的四种方式介绍
2016/10/31 Javascript
EditPlus中的正则表达式 实战(2)
2016/12/15 Javascript
jQuery制作图片旋转效果
2017/02/02 Javascript
Bootstrap进度条与AJAX后端数据传递结合使用实例详解
2017/04/23 Javascript
浅谈Vue的加载顺序探讨
2017/10/25 Javascript
Angularjs渲染的 using 指令的星级评分系统示例
2017/11/09 Javascript
Koa2微信公众号开发之消息管理
2018/05/16 Javascript
详解angularjs跨页面传参遇到的一些问题
2018/11/01 Javascript
3分钟了解vue数据劫持的原理实现
2019/05/01 Javascript
VUE注册全局组件和局部组件过程解析
2019/10/10 Javascript
jQuery实现简单弹幕制作
2020/12/10 jQuery
[08:29]DOTA2每周TOP10 精彩击杀集锦vol.7
2014/06/25 DOTA
python开发之文件操作用法实例
2015/11/13 Python
Python学习之用pygal画世界地图实例
2017/12/07 Python
对python 读取线的shp文件实例详解
2018/12/22 Python
Python3基本输入与输出操作实例分析
2020/02/14 Python
python修改linux中文件(文件夹)的权限属性操作
2020/03/05 Python
Django 拼接两个queryset 或是两个不可以相加的对象实例
2020/03/28 Python
解决pycharm不能自动保存在远程linux中的问题
2021/02/06 Python
两种CSS3伪类选择器详细介绍
2013/12/24 HTML / CSS
SQL Server数据库笔试题和答案
2016/02/04 面试题
工商管理毕业生推荐信
2013/12/24 职场文书
孝老爱亲模范事迹
2014/01/24 职场文书
户外活动总结范文
2014/04/30 职场文书
2014年预备党员学习新党章思想汇报
2014/09/15 职场文书
送达通知书
2015/04/25 职场文书
最新的离婚协议书范本!
2019/07/02 职场文书
《鲁班学艺》读后感3篇
2019/11/27 职场文书
CSS link与@import的区别和用法解析
2023/05/07 HTML / CSS