由浅入深带你使用Dojo工具包

来源:互联网 发布:淘宝差评后卖家骚扰 编辑:程序博客网 时间:2024/09/21 09:26
随着富互联网应用程序(Rich Internet Application,RIA)的发展,一批 JavaScript Toolkit 也随之兴起 , Dojo 便是其中的优秀代表,本系列文章将由浅入深带领读者走进 Dojo 的世界。本文作为这个系列的开篇 , 主要讲述了 Dojo 的体系架构以及如何安装使用。

伴随 Web 2.0, Ajax 和 RIA 的热潮,各种 Ajax 开发工具包如雨后春笋般蓬勃发展,Dojo 正是这些工具包中的佼佼者。Dojo 为富互联网应用程序(RIA) 的开发提供了完整的端到端的解决方案,包括核心的 JavaScript 库,简单易用的小部件(Widget)系统和一个测试框架,此外,Dojo 的开源开发社区还在不停地为它提供新的功能。

Ajax 资源中心

请访问 Ajax 资源中心,这是有关 Ajax 编程模型信息的一站式中心,包括很多文档、教程、论坛、blog、wiki 和新闻。任何 Ajax 的新信息都能在这里找到。

Dojo 是一个 JavaScript 实现的开源 DHTML 工具包。它是在几个项目捐助基础上建立起来的(nWidgets,f(m),Burstlib) 。 Dojo 的最初目标是解决开发 DHTML 应用程序遇到的一些长期存在的历史问题,现在,Dojo 已经成为了开发 RIA 应用程序的利器:

  • Dojo 让您更容易地为 Web 页面添加动态能力,您也可以在其它支持 JavaScript 的环境中使用 Dojo ;
  • 利用 Dojo 提供的组件,您可以提升 Web 应用程序的可用性和交互能力;
  • Dojo 很大程度上屏蔽了浏览器之间的差异性,因此,您可以不用担心 Web 页面是否在某些浏览器中可用;
  • 通过 Dojo 提供的工具,您还可以为代码编写命令行式的单元测试代码。
  • Dojo 的打包工具可以帮助您优化 JavaScript 代码,并且只生成部署应用程序所需的最小 Dojo 包集合。

接下来,我们看看 Dojo 是如何组织这些功能组件的。

Dojo 体系架构

Dojo 的体系架构如图1所示,总体上来看,Dojo 是一个分层的体系架构。最下面的一层是包系统,Dojo API 的结构与 Java 很类似,它把所有的 API 分成不同的包(package),当您要使用某个 API 时,只需导入这个 API 所在的包。包系统上面一层是语言库,这个语言库里包含一些语言工具 API,类似于 Java 的 util 包。再上一层是环境相关包,这个包的功能是处理跨浏览器的问题。


图 1. Dojo 体系架构图
图 1. Dojo 体系架构图

Dojo 大部分代码都位于应用程序支持库,由于太小限制,图 1 中没有列出所有的包。开发人员大部分时候都在调用这个层中的 API,比如,用 IO 包可以进行 Ajax 调用。

最上面的一层是 Dojo 的 Widget 系统,Widget 指的是用户界面中的一个元素,比如按钮、进度条和树等。 Dojo 的 Widget 基于 MVC 结构。它的视图作为一个 Template(模板)来进行存放,在 Template 中放置着 HTML 和 CSS 片段,而控制器来对该 Template 中的元素进行操作。 Widget 不仅支持自定义的样式表,并且能够对内部元素的事件进行处理。用户在页面中只需要加入简单的标签就可以使用。在这一层中,存在数百个功能强大的 Widget 方便用户使用,包括表格、树、菜单等。

常用包介绍

Dojo 1.1.1 提供了上百个包,这些包分别放入三个一级命名空间:Dojo,Dijit 和 DojoX 。其中 Dojo 是核心功能包 , Dijit 中存放的是 Dojo 所有的 Widget 组件,而 DojoX 则是一些扩展或试验功能,DojoX 中的试验功能在成熟之后有可能在后续版本中移入到 Dojo 或 Dijit 命名空间中。

由于 Dojo 包种类繁多,下面只列举了最常用的一些包及其功能,以方便读者有个初步了解或供以后查阅。

包名功能

dojo.io不同的 IO 传输方式。 script、IFrame 等等;dojo.dnd拖放功能的辅助 API 。dojo.string这个包可以对字符串进行如下的处理:修整、转换为大写、编码、esacpe、填充(pad)等等;dojo.date解析日期格式的有效助手;dojo.event事件驱动的 API,支持 AOP 开发,以及主题 / 队列的功能;dojo.back用来撤销用户操作的栈管理器;dojo.rpc与后端服务(例如理解 JSON 语法的 Web 服务)进行通信;dojo.colors颜色工具包;dojo.dataDojo 的统一数据访问接口,可以方便地读取 XML、JSON 等不同格式的数据文件;dojo.fx基本动画效果库;dojo.regexp正则表达式处理函数库;dijit.forms表单控件相关的 Widget 库;dijit.layout页面布局 Widget 库;dijit.popup这个包用于以弹出窗口方式使用 Widget ;dojox.charting用于在页面上画各种统计图表的工具包;dojox.collections很有用的集合数据结构(List、Query、Set、Stack、Dictionary...);dojox.encoding实现加密功能的 API(Blowfish、MD5、Rijndael、SHA...);dojox.math数学函数(曲线、点、矩阵);dojo.reflect提供反射功能的函数库;dojox.storage将数据保存在本地存储中(例如,在浏览器中利用 Flash 的本地存储来实现);dojox.xmlXML 解析工具包;

Dojo 的安装

Dojo 的安装不需要特别的环境和配置,只需要将 Dojo 包下载,解压并将其放在自己喜欢的位置就可以。

  • 第一步,下载 Dojo 包。



    图 2. Dojo 包的下载
    图 2. Dojo 包的下载

    登陆 Dojo 官方网站的下载页面(参见 参考资料),点击其上如图 2 中所示的“ Download Now ”按钮。也可以选择点击页面右边的“All releases ”,查看当前 Dojo 所有的版本,并尝试下载使用。

  • 第二步,解压下载下来的软件包,并将其放在合适....



本文转自IBM Developerworks中国

      请点击此处查看全文


 
原创粉丝点击