博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
什么是Dojo?与Jquery宏观对比,结果如何?
阅读量:4048 次
发布时间:2019-05-25

本文共 2062 字,大约阅读时间需要 6 分钟。

 

Dojo 是一个 JavaScript 实现的开源 DHTML(动态html 工具包。

 

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://qqdci.baihongyu.com/

你可能感兴趣的文章
iOS开发中一些常见的并行处理
查看>>
iOS获取手机的Mac地址
查看>>
ios7.1发布企业证书测试包的问题
查看>>
如何自定义iOS中的控件
查看>>
iOS 开发百问
查看>>
Mac环境下svn的使用
查看>>
github简单使用教程
查看>>
如何高效利用GitHub
查看>>
GitHub详细教程
查看>>
Swift概览
查看>>
iOS系统方法进行AES对称加密
查看>>
程序内下载App,不用跳转到AppStore
查看>>
iOS应用崩溃日志分析
查看>>
获取手机系统大小、可用空间大小,设备可用内存及当前应用所占内存等
查看>>
IOS7 开发注意事项
查看>>
iOS开发~CocoaPods使用详细说明
查看>>
在xcode6中使用矢量图(iPhone6置配UI)
查看>>
Mac OS X中Apache开启ssl
查看>>
Xcode批量打包ipa
查看>>
关于iOS7以后版本企业发布问题
查看>>