javascript: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都总结了优缺点:
- Backbone.js——优点:强大的社区,强劲的势头;缺点:抽象较弱,很多功能亟待增加。
- SproutCore——优点:对绑定的支持,可靠的社区,大量特性;缺点:过度规范,难以和不需要的特性解耦。
- Sammy.js——优点:易于学习,更容易和现存的服务端应用程序整合;缺点:过于简单,无法应用于大型应用程序中。
- Spine.js——优点:轻量级,文档很完备;缺点:它的核心概念“spine”是异步的用户界面,这意味着理想状况用户界面永远不会发生堵塞,而这个基础有缺陷。
- Cappuccino——优点:大型深思熟虑后的框架,良好的社区,很棒的继承模型;缺点:由iOS开发者创建,使用JavaScript模拟Objective-C。
- Knockout.js——优点:对绑定的支持,完备的文档和教程;缺点:绑定语法拙劣,缺少统一的视图组件层级关系。
- Javascript MVC——优点:可靠的社区;缺点:基于字符串的继承模型很差,控制器与视图关系过密而缺少绑定。
- GWT(Google Web Toolkit)——优点:全面的框架,良好的社区,可靠的基于Java的组件继承模型;缺点:可能无法经受时间的考验,另外,Java在客户端上的抽象有些笨拙。
- Google Closure——优点:很好的基于组件的UI组合系统。缺点:缺少UI绑定支持。
- Ember.js——优点:很丰富的模板系统,拥有复合视图和UI绑定;缺点:相对较新,文档不够完备。
- Angular.js——优点:对模板范围和控制器设计有很好的考虑,拥有依赖注入系统,支持丰富的UI绑定语法。缺点:代码的模块性不强,视图的模块化也不够。
- Batman.js——优点:代码清晰,绑定、持久化的方法简单;缺点:使用了单例控制器。
经过对以上各种Javascript MVC框架特性的比较,Gordon认为只有Ember.js能够完全满足他的要求,从而成为他最终选用的框架。
你是否也使用过某些JavaScript MVC框架呢?欢迎参与讨论。
转载于:https://www.cnblogs.com/dengyungao/p/7490125.html
javascript:12种JavaScript MVC框架之比较相关推荐
- [转]12种JavaScript MVC框架之比较
From : http://www.infoq.com/cn/news/2012/05/js-mvc-framework/ Gordon L. Hempton是西雅图的一位黑客和设计师,他花费了几个月 ...
- 12种JavaScript MVC框架之比较
2019独角兽企业重金招聘Python工程师标准>>> 此次比较针对的特性标准有四种,分别是: UI 绑定(UI Bindings) 复合视图(Composed Views) Web ...
- 12种Javascript解决常见浏览器兼容问题的方法
们提倡尽可能使用CSS,而且我们常常能做到这一点.现代浏览器有很好的CSS支持-这无疑足够好让你使用CSS来控制布局和版面设计.但是有时候,某些网页元素在不同的浏览器会出现不同. 如果你不知道原因,不 ...
- JavaScript MVC 框架开源软件
HTML的Web框架AngularJS Angular JS (Angular.JS) 是一组用来开发Web页面的框架.模板以及数据绑定和丰富UI组件.它支持整个开发进程,提供web应用的架构,无需进 ...
- JavaScript MVC 框架比较
Gordon L. Hempton是西雅图的一位黑客和设计师,他花费了几个月的时间研究和比较了12种流行的JavaScript MVC框架,并在博客中总结了每种框架的优缺点,最终的结果是,Ember. ...
- AngularJs - Javascript MVC 框架
在6月google发布了AngularJs 1.0稳定版, 并宣称:AngularJS可以让你扩展HTML的语法,以便清晰.简洁地表示应用程序中的组件,并允许将标准的HTML作为你的模板语言,Angu ...
- html dom节点类型,浅谈Javascript中的12种DOM节点类型
前言 DOM的作用是将网页转为一个javascript对象,从而可以使用javascript对网页进行各种操作(比如增删内容).浏览器会根据DOM模型,将HTML文档解析成一系列的节点,再由这些节点组 ...
- JavaScript MVC框架PK:Angular、Backbone、CanJS与Ember
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国 ...
- 40种Javascript中常用的使用小技巧【转】
1. οncοntextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键 < table border οncοntextmen ...
最新文章
- 使用beanutil简化request值的接收
- KS004 基于SSH通讯录系统设计与实现
- html5编辑文档,HTML5带各种趣味动画的文本编辑器
- libgdx和Kotlin –类[2D平台原型]
- 读书笔记(javascript 高级程序设计)
- 28.课时28.【Django模块】with标签使用详解(Av61533158,P28)
- iis 搭建html网站,iis6.0 、7.0添加网站(搭建网站)
- 关于数组指针的一道面试题
- 开发宝典:基于分布式对象的网游程序结构设计
- python自动化办公入门书籍-Python如此神奇,让繁琐工作自动化 (文中含Python基础)...
- 吸引美女的50个必备技巧,并有79个…
- 评价指标MSE和AUC的参考文献
- ESP8266连得上WIFI却连不上手机热点
- php 日期format不要零_DateFormat PHP Class (php 处置日期)
- Len和lenB的区别
- 怎么用一个元素实现十字架
- 深入理解计算机系统简述
- c++中this指针的理解(转载:苦涩的茶 ——产品开发 C++类中this指针的理解)
- php.ini 优化 oa,OA办公系统常见问题解答
- 腾讯测试跑分的电脑软件,电脑跑分软件哪个比较权威,鲁大师使用测评
热门文章
- 新360自媒体:北京时间自媒体平台即将上线!
- SharePoint 2013 数据库中手动更新用户信息
- atitit. 浏览器插件 控件 applet 的部署,签名总结 浏览器 插件 控件 的签名安全机制o9o...
- Datagridview 在基于文本的单元格中启用换行,自动调整行高列宽
- 华为服务器故障灯不开机_总有故障灯亮却不知道是怎么回事?详解这些你不认识的故障灯...
- SQLite中的SELECT子句使用别名
- 反汇编引擎diStorm3
- Kali Linux 安全渗透教程第二更Linux安全渗透简介
- 内存储器和cpu一起构成了计算机,计算机系统的组成
- iOS UICollectionView 使用