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

原创 2015年07月08日 14:55:21

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 命名空间中。

 

JqueryDojo宏观对比:

 

首先声明,并不绝对,一家之言。 

 

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编程基础很容易入门。但如果想做出有更高用户体验的界面,光靠技术是不行的。因为DojoJquery两者代码风格相似,所以有Jquery基础,学习Dojo并不是非常困难。反之有Dojo基础,再来学习Jquery也不难。

 

5、适用范围

 

Dojo在面向对象支持,代码架构,多极模块加载机制,控件完整性等方面有着较为突出的特点,适用于企业级或是复杂的大型Web应用开发;

 

jQuery架构和机制相对简单,易于开发,应用广泛,适用于相对简单的Web 2.0开发。

 

Dojo和jQuery分别为复杂应用开发和简单应用开发设计,但不绝对,要看开发者怎么用。如果是UI 交互过多的应用,就选 dojo ,但如果选择Jquery+Jquery UI也不失为一种好办法。

版权声明:本文为博主http://www.feixueteam.net原创文章,未经博主允许不得转载。

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

Dojo 是一个 JavaScript 实现的开源 DHTML(动态html) 工具包。   Dojo能做什么??   1、让开发者更容易地为 Web 页面添加动态能力,也可以在其它支持 ...
  • zfive5
  • zfive5
  • 2012年08月11日 23:58
  • 338

为什么使用dojo?dojo与jquery有什么不同?dojo适合什么开发场景?

首先介绍一下dojo的特性: 1、dojo是一个符合AMD规范的企业级框架(dojo是一个重量级框架) 2、dojo全面支持异步加载JS机制(即:支持通过require异步加载JS模块,通过defin...
  • eguid_1
  • eguid_1
  • 2016年08月21日 16:38
  • 1992

dojo和Jquery混用 chart

https://github.com/cjolif/dojo-samples/blob/master/jquery-dojo-amd/chart.html dojo通过packages加载jquer...
  • udbynije
  • udbynije
  • 2017年08月03日 16:55
  • 435

jquery和其他js库起冲突的解决方法

我以为jquery只会和其他js框架如(Dojo,Prototype,ExtJs)等发生冲突 今天用了一下My97DatePicker日历控件 当我同时引入jquery.js和/My97DateP...
  • itmyhome
  • itmyhome
  • 2011年12月02日 10:47
  • 3164

dojo是什么与选择dojo的理由

What Is Dojo? Dojo 是一个用javascript语言实现的开源DHTML工具包。它是在几个项目捐助基础上建立起来的(nWidgets, Burstlib, f(m)), 这也是为什么...
  • sharky77
  • sharky77
  • 2006年07月05日 17:16
  • 13094

主流JavaScript框架(Dojo、Google Closure、jQuery、Prototype、Mootools和YUI)的分析和对比

本文主要选取了目前比较流行的JavaScript框架Dojo、Google Closure、jQuery、Prototype、Mootools和YUI进行对比,主要是根据网上的资料整理而成,希望可以供...
  • zhaoxy2850
  • zhaoxy2850
  • 2013年08月24日 17:34
  • 6342

dojo的订阅主题和发布主题

订阅一个名为printName的主题: dojo.subscribe("printName", function(msg) {     console.log("The person's n...
  • gaoqiff
  • gaoqiff
  • 2017年06月07日 10:04
  • 225

项目经理注意事项(3)---宏观把控

都说管理者比干活的人更聪明,更善于总结思考,相应的从薪酬上也比其他平常人会多一些。能者劳心不能者劳力,但是在劳心的过程中那些事情是需要劳心的呢?动脑子和动手可以理解为劳心与劳力,在项目中领导者脑子里应...
  • beijiguangyong
  • beijiguangyong
  • 2014年05月31日 04:42
  • 3228

什么是DOJO?

 Dojo是一个用JavaScript语言实现的开源DHTML工具包。它是在几个项目捐助基础上建立起来的(nWidgets, Burstlib, f(m)),这也是为什么叫它a unified too...
  • DiscussQuestions
  • DiscussQuestions
  • 2008年10月12日 19:28
  • 460

什么是Dojo

Dojo是一个非常强大的面向对象的JavaScript的工具箱, 建议能够去复习一下JavaScript下如何使用OO进行编程的, 这对于你以后阅读Dojo Source有很大的用处。请下载dojo ...
  • adoudoubbBAObaocc
  • adoudoubbBAObaocc
  • 2009年07月21日 16:02
  • 220
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:什么是Dojo?与Jquery宏观对比,结果如何?
举报原因:
原因补充:

(最多只允许输入30个字)