以下观点是建立在我初看jQuery,但并没有对jQuery详细理解的情况下。 可能随着后面对jQuery的使用,而增加更深的了解。也可能发现我当初的观点是错误的。
大体浏览了一下jQuery的文档,发现jQuery与dojo存在以下相同的地方: 1,dojo与jQuery都提供了对HTML DOM的快捷操作方法。 2,都提供了css的操作方法。 3,提供了DOM node的query方法。 4,包装了xhr。 5,提供了事件注册机制。 6,提供了简单的动画效果。
不同的地方在于: 1,dojo提供了面向对象的js开发机制。是一个js的framework。jQuery提供了基于client side js的工具箱。在dojo中,用户可以根据dojo的模板定义自己的类。 2,dojo提供了dijit,以及如何定义自己的dijit的方法。dijit是dojo中可以重用的控件。它自身带有html template。dijit像一个模板,由模板生成的实例可以把html template生成的dom以及dom上的事件方法都当作实例内部方法来用。dijit可以放到document的任意节点上。 3,dojox提供了更多的扩展包,比如grid。 4,dojo提供了国际化和本地化方法。使用dojo.i18n. 5,dojo可以动态引入需要的js类。使用dojo.require. 在使用方面,jquery更加容易上手,代码写起来快捷简单。 jquery的链式调用结构使得代码非常简洁。 最后,抽象一些来说:dojo是框架,jQuery是工具。dojo像java,jQuery像c。dojo比较重,jQuery比较轻。dojo比较复杂,jQuery比较简单。dojo面向对象,jQuery面向过程。
|