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

转载于:https://www.cnblogs.com/dengyungao/p/7490125.html

javascript:12种JavaScript MVC框架之比较相关推荐

  1. [转]12种JavaScript MVC框架之比较

    From : http://www.infoq.com/cn/news/2012/05/js-mvc-framework/ Gordon L. Hempton是西雅图的一位黑客和设计师,他花费了几个月 ...

  2. 12种JavaScript MVC框架之比较

    2019独角兽企业重金招聘Python工程师标准>>> 此次比较针对的特性标准有四种,分别是: UI 绑定(UI Bindings) 复合视图(Composed Views) Web ...

  3. 12种Javascript解决常见浏览器兼容问题的方法

    们提倡尽可能使用CSS,而且我们常常能做到这一点.现代浏览器有很好的CSS支持-这无疑足够好让你使用CSS来控制布局和版面设计.但是有时候,某些网页元素在不同的浏览器会出现不同. 如果你不知道原因,不 ...

  4. JavaScript MVC 框架开源软件

    HTML的Web框架AngularJS Angular JS (Angular.JS) 是一组用来开发Web页面的框架.模板以及数据绑定和丰富UI组件.它支持整个开发进程,提供web应用的架构,无需进 ...

  5. JavaScript MVC 框架比较

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

  6. AngularJs - Javascript MVC 框架

    在6月google发布了AngularJs 1.0稳定版, 并宣称:AngularJS可以让你扩展HTML的语法,以便清晰.简洁地表示应用程序中的组件,并允许将标准的HTML作为你的模板语言,Angu ...

  7. html dom节点类型,浅谈Javascript中的12种DOM节点类型

    前言 DOM的作用是将网页转为一个javascript对象,从而可以使用javascript对网页进行各种操作(比如增删内容).浏览器会根据DOM模型,将HTML文档解析成一系列的节点,再由这些节点组 ...

  8. JavaScript MVC框架PK:Angular、Backbone、CanJS与Ember

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国 ...

  9. 40种Javascript中常用的使用小技巧【转】

    1. οncοntextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键 < table border οncοntextmen ...

最新文章

  1. 使用beanutil简化request值的接收
  2. KS004 基于SSH通讯录系统设计与实现
  3. html5编辑文档,HTML5带各种趣味动画的文本编辑器
  4. libgdx和Kotlin –类[2D平台原型]
  5. 读书笔记(javascript 高级程序设计)
  6. 28.课时28.【Django模块】with标签使用详解(Av61533158,P28)
  7. iis 搭建html网站,iis6.0 、7.0添加网站(搭建网站)
  8. 关于数组指针的一道面试题
  9. 开发宝典:基于分布式对象的网游程序结构设计
  10. python自动化办公入门书籍-Python如此神奇,让繁琐工作自动化 (文中含Python基础)...
  11. 吸引美女的50个必备技巧,并有79个…
  12. 评价指标MSE和AUC的参考文献
  13. ESP8266连得上WIFI却连不上手机热点
  14. php 日期format不要零_DateFormat PHP Class (php 处置日期)
  15. Len和lenB的区别
  16. 怎么用一个元素实现十字架
  17. 深入理解计算机系统简述
  18. c++中this指针的理解(转载:苦涩的茶 ——产品开发 C++类中this指针的理解)
  19. php.ini 优化 oa,OA办公系统常见问题解答
  20. 腾讯测试跑分的电脑软件,电脑跑分软件哪个比较权威,鲁大师使用测评

热门文章

  1. 新360自媒体:北京时间自媒体平台即将上线!
  2. SharePoint 2013 数据库中手动更新用户信息
  3. atitit. 浏览器插件 控件 applet 的部署,签名总结 浏览器 插件 控件 的签名安全机制o9o...
  4. Datagridview 在基于文本的单元格中启用换行,自动调整行高列宽
  5. 华为服务器故障灯不开机_总有故障灯亮却不知道是怎么回事?详解这些你不认识的故障灯...
  6. SQLite中的SELECT子句使用别名
  7. 反汇编引擎diStorm3
  8. Kali Linux 安全渗透教程第二更Linux安全渗透简介
  9. 内存储器和cpu一起构成了计算机,计算机系统的组成
  10. iOS UICollectionView 使用