以前一直使用Eclipse RCP进行开发,自从接触了Eclipse RAP后,对AJAX产生了兴趣,还有未来的Eclipse 4.0 将会采用Web框架开发,以后可以在浏览器中运行Eclipse了,所以想研究研究AJAX框架,RAP的底层是用Qooxdoo实现,关于Qooxdoo,好像名声明显没有其他框架那么有名,不过Qooxdoo的确是一个非常优秀的AJAX框架,关于Qooxdoo,你可以从它的主页上了解更多:http://qooxdoo.org/,还有在百度的百科中也有对Qooxdoo的详细介绍:http://baike.baidu.com/view/2135070.html
记得看过国外的一份JavaScript 框架调查中对各种框架进行了对比,从性能和社区支持方面Qooxdoo还是比较有优势的,下面来看一下:
轻量级应用中的性能 :
重量级应用中的性能 :
从这里看出Qooxdoo的性能还是比较优秀的,关于社区支持,Qooxdoo目前保持领先:
qooxdoo是一个全面和创新的AJAX应用程序框架,目前(2009-7-18)的最新版本是0.8.2,Qooxdoo和Java一样,支持单继承和多态性,除普通类外,它提供抽象,静态类
比如我们可以在Qooxdoo中生成一个类:
qx.Class.define("qx.test.Cat", {
extend: qx.core.Object,
construct : function() { /* */ }
});
define()方法提供了两个参数:将要定义的Cat类的全名和配置描述块;Cat类的前缀"qx.core"为对应的命名空间,一般来说和Cat类存放的的文件夹路径保持一致。而配置描述块中可以指定继承的父类,和声明方法,通过”extend:“关键字指定它的父类为”qx.core.Object“,通过”construct:”来声明Cat类的构造方法。
我们可以通过下面这段代码创建Cat的实例:
var tomcat= new qx.test.Cat;
创建成员变量和成员方法也很简单:
qx.Class.define("qx.test.Cat", {
members: {
name : "威尔-汤姆",
getName: function() { return this.name }
}
});
这样我们创建了名称为“name“的成员编号和名称为”getName“的成员方法;可以通过这种方式进行调用:
var tomcat= new qx.test.Cat;
tomcat.name = "克里斯-汤姆";
alert(kitty.getName());
创建静态变量和静态方法:
qx.Class.define("qx.test.Cat", {
statics : {
LEGS: 4,
getColor: function() { /* */ }
}
});
这样不需要创建类的实例,通过类的全名就可以调用:
var letCount= qx.test.Cat.LEGS;
alert(qx.test.Cat.getColor());
。。。。。。