【转载】12种JavaScript MVC框架之比较

标签: HTML5 技术博文 HTML5最新动态 | 发表时间:2012-06-03 23:04 | 作者:HTML5研究小组
出处:http://www.mhtml5.com

作者  侯伯薇 发布于 2012年5月29日

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框架呢?欢迎参与讨论。

侯伯薇 是InfoQ中文站架构社区编辑,有多年对日和国内项目开发经验,目前关注企业中技术与实际业务之间的融合和协作。

 

相关 [javascript mvc 框架] 推荐:

12款优秀JavaScript MVC框架评估

- - Web App Trend
导读:在最近的几个月中,作者一直在寻求哪种MVC框架最为完美:将目前能获取到的所有框架都粗略地试了试,然后在文章中列出了每一种框架的情况概要,在文末分享了作者经过对比之后最终的推荐产品. 首先要特别说明一下,以下四个feature作者认为是十分重要的:. UI Bindings:[UI绑定]作者想说的不仅仅是模板,而是想谈一种在底层模型出现变化时,视图层能够自动相应地更新的陈述性方法.

JavaScript 客户端 MVC 框架调查

- - 博客 - 伯乐在线
来源: IBM DeveloperWorks. 15 年前,许多人都使用 Perl 和 ColdFusion 之类的工具构建网站. 我们经常编写可以在页面顶部查询数据库的脚本,对数据应用必要的转换,以及在同一个脚本底部显示数据. 这类架构适合于向网站添加简单的 “Contact us” 表单. 然而,随着应用程序变得更加复杂,这种方法无法进行相应的扩展来处理更大的复杂问题.

【转载】12种JavaScript MVC框架之比较

- - HTML5研究小组
侯伯薇 发布于 2012年5月29日. Hempton是西雅图的一位黑客和设计师,他花费了几个月的时间研究和比较了12种流行的JavaScript MVC框架,并 在博客中总结了每种框架的优缺点,最终的结果是, Ember.js胜出. 此次比较针对的特性标准有四种,分别是:. UI绑定(UI Bindings).

PHP的MVC开发框架 EaglePHP

- We_Get - 开源中国社区最新软件
EaglePHP是一个简单、开源、高效、易扩展、面向对象的PHP MVC开发框架,借鉴国外优秀框架的设计思路,分层的设计思想使独立开发成为可能,建立模型推动代码的重用. 写此框架的用意是与大家共同学习和交流. 框架特点: 1、数据库表曾、删、改、查,自动生成,支持二次开发. 2、支持session在Memcahe、database、file中的无缝切换.

MVC框架的映射和解耦

- - 博客 - 伯乐在线
最近在写一个业务上用到的框架,回想起接触过的一些MVC框架,尤其是主要贡献在后端表现层上的那些,它们之间有太多的相似,在不断解耦的过程中,层数和模块数也越来越多,需要不断引入层与层之间的映射逻辑将不同层次之间关联起来,我们不妨来查看一下这个过程,能否寻找一些MVC框架的共性和启示. MVC 1到MVC 2模型的进化.

[Ext JS 4] MVC 应用程序框架

- - CSDN博客Web前端推荐文章
大型客户端应用程序总是很难编写,很难组织和很难维护. 随着功能的增加和更多的开发人员加入项目,对项目的控制也越来越困难了. Ext JS 4 提供了一个新的应用程序框架帮助组织代码. 模型 - 一组栏位和数据的集合. Model (在Ext JS 3中使用Record class). 视图 - 组件类型, grids,trees 和 panels 都是属于试图.

15 个微型 JavaScript 框架

- - HTML5研究小组
倘若问Web 开发者最喜欢的 JS 库是什么,多数回答都是 jQuery,不管其所做的网站是大是小. 开发者倾向使用 jQuery 的原因是它可以降低代码的复杂度,而且 jQuery 经过良好的测试,拥有大量用户以及很好的社区生态,当然,还有大量的插件. 不过 jQuery 的体积比较大,本文即将介绍的是 15 个微型的 JavaScript 小框架,这些框架都支持 Web 和智能手机平台,短小精干.

酷酷的前端MVC框架AngularJS(二)HelloWorld

- - ITeye博客
angularJS在github上面进行一个代码的托管. 地址:https://github.com/angular/angularjs.org  . 注意:需要兼容IE8的同学请下载1.3之前的版本,在1.3之后已经放弃了IE8,估计是为了以后大版本升级做铺垫吧. 各个版本的下地址在这里https://github.com/angular/angular.js/releases.

Node.js简单介绍并实现一个简单的Web MVC框架

- BeerBubble - CNode社区
Node让你可以用javascript编写服务器端程序,让javascript脱离web浏览器的限制,像C#、JAVA、Python等语言一样在服务器端运行,这也让一些熟悉Javascript的前端开发人员进军到服务器端开发提供了一个便利的途径. Node是基于Google的V8引擎封装的,并提供了一些编写服务器程序的常用接口,例如文件流的处理.

5个实用的Javascript框架

- cchitsiang - 伯乐在线 -博客
  Web开发很简单,Web应用的UI开发却很复杂,如果能够利用一些成熟的框架,可以大大的减少开发的复杂度. 国外开发人员Kiko在本文向你介绍5个很不错的JS框架.   ExtJS 主要用来开发RIA富客户端的AJAX应用,主要用于创建前端用户界面,与后台技术无关的前端ajax框架. 因此,可以把ExtJS用在.Net、 Java、Php等各种开发语言开发的应用中.