除了angularJS还有哪些MVVM的框架

JavaScript09

除了angularJS还有哪些MVVM的框架,第1张

国内用的比较多的就是 augular.js backbone这两个

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——优点:代码清晰,绑定、持久化的方法简单;缺点:使用了单例控制器。

原文地址:http://www.infoq.com/cn/news/2012/05/js-mvc-framework/

JavaScriptMVC 是一套开放源代码的多样化互联网应用程式框架,以 jQuery 与 OpenAJAX 为基础。JavaScriptMVC 利用MVC 架构与工具扩展这些函式库,以便开发与测试。由于 JavaScriptMVC 不需要任何服务器端的配合,因此它可以和任何的网站服务接口与编程语言整合,如ASP.NET、Java、Perl、PHP、Python 或 Ruby。

在看 backbone.js 之前看了两本 js 的书,都是讲面向对象的 javascript 的,可以作为前置教程:

Pro Javascript Techniques // 一本比较老一点的书,作者是 John Resig

Javascript Web Applications // 这个是 Spine.js 的作者写的,里面也简单介绍了

这时候,只要写一点简单的例子,就应该可以入门了,还有一些其它的教程和例子,都是从各自的角度来讲,比如:如何和 Rails 整合之类的,可以之后再看。