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

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也不失为一种好办法。

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

时间: 2024-10-10 17:38:35

什么是Dojo?与Jquery宏观对比,结果如何?的相关文章

js与jQuery方法对比

CreateTime--2017年1月19日10:00:10Author:Marydonjavascript与jQuery方法对比jquery对象转dom对象 //方式一 $("#confirm")[0] //方式二 $("#confirm").get(0) //方式三 $("#confirm").eq(0)[0] var getObjectByJs = document.getElementById("test"); var

vue和jquery的对比

这一段时间在学vue,也被称为前端框架的三马车之一,是一套用于构建用户界面的渐进式框架,也是入门难度最低的一种框架.今天将vue和之前学的jquery来对比一下. Jquery介绍:jquery是一个快速的,简洁的JavaScript框架,于2006年由John Resig发布,倡导的是写更少的代码,去做更多的事.它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作.事件处理.动画设计和Ajax交互.简而言之,jquery就是一个JavaSc

AngularJs 与Jquery的对比分析,超详细!

闲来无事,在网上发现了一篇对比AngularJs和Jquery的文章.恰好最近自己也在研究AngularJs.特此收藏.需要的朋友可以参考. 原问题:假如我熟悉利用jQuery去开发客户端应用,那么我怎么上手angularjs,能否描述下所需要的模式转变,下面这些问题能够帮助你给出一个回答: 1.在设计客户端web应用的时候有什么区别,最大的区别是什么? 2.我应该停止使用哪些技术,同时又使用哪些技术作为替代? 3.是否存在服务端需要考虑的东西或者说一些限制呢? 回答: 1.不要首先设计好你的页

dojo和jquery混合使用

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/dojo/1.7.0/dojo/dojo.js" data-dojo-config="async: true, packages: [ { name: 'jquery', location: 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.1', main

JavaScript与jquery的对比

  javascript jQuery 入口函数 只能有一个,如果有多个,后面的会覆盖前面 可以有多个,并且不会发生覆盖的情况 代码容错性 代码容错性差,代码出现错误,会影响到后面代码的运行. 代码容错性好,屏蔽错误,并且不会影响后面代码的运行 浏览器兼容性 兼容性差,比如火狐不支持innerText 对浏览器兼容性做了封装,因此不存在兼容性问题 操作复杂性 DOM操作复杂,对于一些简单的动画效果,实现起来比较麻烦 DOM操作简单,支持隐式迭代,实现动画非常简单

js与Jquery的对比

//    document.getElementById("divCommit").style.display="none";//    document.getElementById("oldContent").style.display="block";     $("#divCommit").hide();     $("#oldContent").show(); $("

JavaScript DOM和JQuery方法对比

  JQuery JavaScript   创建节点 $("<div>') document.createElement("div“)   选择元素 $(CSS选择器) querySelector(CSS选择器):querySelector(CSS选择器):getElementById();getElementsByTagName();getElementsByClassName();    更改元素CSS 修改单个CSS:$("p").css(&quo

Dojo前端开发框架与jQuery前端开发框架,对比分析总结

最近Dojo和jQuery双双发布了最新的1.8版本,有着相同版本号的两个Javascript库也有许多核心的相同之处:相同的资源加载机制AMD.相同的选择器 引擎Sizzle等.作为业界知名的Javascript库,Dojo和jQuery在各自领域有着为数众多的拥护者.不过正所谓一把钥匙开一把锁,对一个项目来说肯定有个最适合它的工具库,用对了工具才能事半功倍.所以对项目经理或是技术总监来说,工程开始前的技术选型是关键一步,本文将对Dojo和 jQuery最新版本进行一个综合比较,重点在于区分两

JavaScript 和 jQuery $.alert alert $.confirm confirm 的对比

JavaScript 和 jQuery  弹窗对比 javascript 的三种弹框对象隶属于window对象,并且都会阻塞当前事件和脚本,直到用户操作完成才会继续执行后续事件和脚本.不能使用html元素. jQuery(jquery-confirm插件) jQuery的弹出窗口是通过html元素和一些js事件模拟出来的,隶属于document对象,而且不能够阻塞其他的事件和脚本执行. 例: jQuery 脚本 脚本1: var $confirm= $.confirm('是否继续?');  //