什么是Dojo?与Jquery宏观对比,结果如何?

xmisepxw
2013-10-12 · TA获得超过4422个赞
知道小有建树答主
回答量:1006
采纳率:0%
帮助的人:2373万
展开全部
Dojo能做什么?? 1、让开发者更容易地为 Web 页面添加动态能力,也可以在其它支持 JavaScript 的环境中使用 Dojo; 2、利用 Dojo 提供的组件,开发者可以提升 Web 应用程序的可用性和交互能力; 3、Dojo 很大程度上屏蔽了浏览器之间的差异性,因此,开发者可以不用担心 Web 页面是否在某些浏览器中可用; 4、通过 Dojo 提供的工具,您还可以为代码编写命令行式的单元测试代码。 5、Dojo 的打包工具可以帮助您优化 JavaScript 代码,并且只生成部署应用程序所需的最小 Dojo 包集合。 6、……等等 Dojo架构(只包含部分包,网上找的) 第一层是Dojo 的 Widget 系统,Widget 指的是用户界面中的一个元素,比如按钮、进度条和树等。通过Widget ,可以对按钮,菜单等进行操作,包括样式,事件处理。只需在页面中加入简单标签。 第二层是应用程序支持库,dojo大部分代码都放在这一层,我们大部分时候是在调用这个层中的API。 第三层是环境相关包,这个包的功能是处理跨浏览器的问题。 第四层是语言库,这个语言库里包含一些语言工具 API,类似于 Java 的 util 包。 最下面一层是包系统,Dojo API 的结构与 Java 很类似,它把所有的 API 分成不同的包(package),当您要使用某个 API 时,只需导入这个 API 所在的包。 上图中只是Dojo 提供的上百个包的一部分,这些包分别放入三个一级命名空间:Dojo,Dijit 和 DojoX 。其中 Dojo 是核心功能包 , Dijit 中存放的是 Dojo 所有的 Widget 组件,而 DojoX 则是一些扩展或试验功能,DojoX 中的试验功能在成熟之后有可能在后续版本中移入到 Dojo 或 Dijit 命名空间中。 Jquery和Dojo宏观对比: 首先声明,并不绝对,一家之言。 1、框架规模Dojo属于重量级开发框架,由框架核心(dojo)、基本控件库(dijit)、扩展包(dojox)组成的,三部分都是由dojo官方提供; jQuery属于轻量级框架,本身仅包含框架核心,另外有一个与jQuery名下的独立开源项目jQuery UI,它提供了最常用的8个控件。 也不是绝对,如果你像用jquery那样用dojo,dojo它就是轻量级js库了。如果你用jqueryui+jquery,那jquery就是重量级js库了。 2、编程方式Dojo使用面向对象编程方式,为大型应用开发提供了保证;jQuery使用函数式编程方式,开发小型应用时更加灵活快捷。 Dojo在Javascript的基础进行了面向对象能力的加强和规范化,提供了原生Javascript不具备的面向对象编程能力,比如父类方法重载(注意,不是重写)、多继承、构造函数调用链等等,并提供一系列面向对象编程规范的函数和属性declare、inherit、declaredClass、extend等作为dojo自身的编程基础。在dojo中,所有的UI控件都被定义为类,许多Dojo的核心功能库也被定义为类,这都是出于更好的代码重用性的考虑。 Javascript从本质上来说属于函数式编程语言,jQuery没有改变Javascript的编程方式,使其学习成本大大降低。也并不是说jquery完全不能进行面向对象的编程,只是不见得如Dojo那么直观,用Jquery一样可以用继承,一样在写this。各家有各家的见地。 3、代码风格除去jQuery标志性的“$”符号外,其实dojo与jQuery在一些常用API上的命名和参数列表基本相似。 4、学习成本从上文分析,我们摘掉Javascript从本质上来说属于函数式编程语言,jQuery没有改变Javascript的编程方式,使其学习成本大大降低,有Javascript编程基础很容易入门。但如果想做出有更高用户体验的界面,光靠技术是不行的。因为Dojo和Jquery两者代码风格相似,所以有Jquery基础,学习Dojo并不是非常困难。反之有Dojo基础,再来学习Jquery也不难。 5、适用范围 Dojo在面向对象支持,代码架构,多极模块加载机制,控件完整性等方面有着较为突出的特点,适用于企业级或是复杂的大型Web应用开发; jQuery架构和机制相对简单,易于开发,应用广泛,适用于相对简单的Web 2.0开发。 Dojo和jQuery分别为复杂应用开发和简单应用开发设计,但不绝对,要看开发者怎么用。如果是UI 交互过多的应用,就选 dojo ,但如果选择Jquery+Jquery UI也不失为一种好办法。 在实际项目中,需要根据具体需求来衡量,进行工具的选择。呵呵,貌似所有的对比,最好都是具体问题具体分析,本文也是。我可不想误导大家。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式