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 相关文章推荐
XP折叠菜单&仿QQ2006菜单
Dec 16 Javascript
JS继承 笔记
Jul 13 Javascript
jquery配合css简单实现返回顶部效果
Sep 30 Javascript
javascript实现当前页导航激活的方法
Feb 27 Javascript
jQuery实现html元素拖拽
Jul 21 Javascript
Highcharts入门之基本属性
Aug 02 Javascript
JavaScript使用原型和原型链实现对象继承的方法详解
Apr 05 Javascript
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧不动,右侧滑动)
Jan 23 Javascript
图解javascript作用域链
May 27 Javascript
小程序多图列表实现性能优化的方法步骤
May 28 Javascript
JS中的模糊查询功能
Dec 08 Javascript
JS实现旋转木马轮播图
Jan 01 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
古巴咖啡 Cubita琥爵咖啡 独特的加勒比海风味咖啡
2021/03/06 新手入门
强烈推荐:php.ini中文版(2)
2006/10/09 PHP
NO3第三帝国留言簿制作过程
2006/10/09 PHP
PHP实现过滤各种HTML标签
2015/05/17 PHP
Symfony2学习笔记之控制器用法详解
2016/03/17 PHP
php+mysql实现简单登录注册修改密码网页
2016/11/30 PHP
PHP自动补全表单的两种方法
2017/03/06 PHP
PHP排序算法之直接插入排序(Straight Insertion Sort)实例分析
2018/04/20 PHP
利用jq让你的div居中的好方法分享
2013/11/21 Javascript
javascript在子页面中函数无法调试问题解决方法
2014/01/17 Javascript
jQuery知识点整理
2015/01/30 Javascript
jQuery插件之jQuery.Form.js用法实例分析(附demo示例源码)
2016/01/04 Javascript
js仿百度登录页实现拖动窗口效果
2016/03/11 Javascript
Taro集成Redux快速上手的方法示例
2018/06/21 Javascript
react native 文字轮播的实现示例
2018/07/27 Javascript
微信小程序webview 脚手架使用详解
2019/07/22 Javascript
小程序开发之模态框组件封装
2020/04/23 Javascript
uniapp开发小程序实现滑动页面控制元素的显示和隐藏效果
2020/12/10 Javascript
[01:13:18]Secret vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.23
2019/09/05 DOTA
Python数据结构与算法之二叉树结构定义与遍历方法详解
2017/12/12 Python
python如何重载模块实例解析
2018/01/25 Python
漂亮的Django Markdown富文本app插件的实现
2019/01/02 Python
用python3读取python2的pickle数据方式
2019/12/25 Python
python读取tif图片时保留其16bit的编码格式实例
2020/01/13 Python
LocalStorage记住用户和密码功能
2017/07/24 HTML / CSS
Soft Cotton捷克:来自爱琴海棉花的浴袍
2017/02/01 全球购物
医科大学生的自我评价
2013/12/04 职场文书
运动会开幕式邀请函
2014/01/22 职场文书
青年文明号复核材料
2014/02/11 职场文书
艺术学院毕业生自荐信
2014/07/05 职场文书
计算机应用专业自荐信
2014/07/05 职场文书
社区活动总结
2015/02/04 职场文书
硕士论文致谢范文
2015/05/14 职场文书
员工担保书范本
2015/09/22 职场文书
python 实现德洛内三角剖分的操作
2021/04/22 Python
Python趣味爬虫之用Python实现智慧校园一键评教
2021/05/28 Python