掌握Dojo工具包,第8部分: 明日之星

Dojo 作为最著名的 Ajax 开源项目之一,不仅让 Web 程序员可以免费获得和使用其框架进行 Web 应用的开发,更吸引了大量的开发者对其不断的扩充,开发新的组件。DojoX 就是在这样的开发社区中产生的。DojoX 是一组基于 dojo 的开源项目的集合,这些开源项目具有很好的创意和很高的实用性。这些 DojoX 项目有可能成长为一个稳定的版本保留在 DojoX 中,也有些可能会迁移到 Dojo Core 或者 Dijit 中。本文将对 DojoX 中的项目进行一个总体的概述,并结合实例介绍其中较为有特色的项目,本文主要会介绍 DataGrid,Charting,Gfx/Gfx 3D 和 DojoX Widget。

认识 DojoX

目前 DojoX 项目主要扩展了数据结构与算法、数据处理与通信、实用工具、图形 API 以及 Web UI 等。

涉及到数据结构与算法的项目包括了 DojoX Collections、DojoX Encoding 等。Collections 定义了很多非常有用的数据集合,包括了数组(ArrayList)、二叉树(BinaryTree)、字典(Dictionary)、迭代器(Iterator)、队列(Queue)、有序列表(SortedList)、堆栈(Stack)。这些集合的使用将大大提高程序开发的效率以及程序的质量。Encoding 不仅提供了字符串与字符编码的转换,还提供了对称算法河豚(Blowfish)和 MD5 数字摘要算法等。

DojoX Data、Embed、I/O、JSON、XML、RPC 等扩展了 Dojo 的数据处理与通信能力。其中,Data 项目提供了对更多数据格式的支持,包括了对 csv 文件以及 Google、Picasa 等提供的 API 的支持等等。

DojoX 的图形 API 扩展了 Dojo 的动画效果,并提供了 2D、3D 绘图的支持。DojoX Fx 通过对 dojo core 以及 dojo fx 的扩展提供了多种动画效果;gfx 提供了一系列矢量绘图的方法;而 gfx3d 则提供了一些简单的 3D 绘图 API。

而更加丰富的 Web UI 以及 Web 小部件也是 DojoX 的一大亮点。功能强大的 Grid、实用的 Charting、以及 DojoX Image 和 DojoX Layout 使得基于 dojo 开发的 Web UI 更加丰富。DojoX Widgets 中还提供了更加丰富的小部件可以满足大部分应用开发的需求。

除以上介绍的项目外,DojoX 还收集了很多实用工具,读者可以在 dojo API 网站上获得更多的信息。http://api.dojotoolkit.org/

接下来我们就来体验一下 DojoX 给我们带来的精彩吧

注意:本教程使用的 dojo 版本为 1.2.1,由于 1.2.x 版本里 dojo 以及 dojoX 的部分组件有较大变化,因此本文仅适用于 dojo1.2.x,对于 dojo1.0 的开发者本文仅供参考,部分代码不能正确运行

DojoX DataGrid

Grid 可能是 DojoX 中最受欢迎的部件,比起普通的 Web 表格部件,Grid 更像一个基于 Web 的 Excel 组件。这使得 Grid 足可以应付较为复杂的数据展示及数据操作。在 dojox1.2 中,dojox.grid 包中新增了 DataGrid 类,该类是对原 Grid 类的强化和替代,之所以叫做 DataGrid,是由于该类与 dojo 的数据操作类 store 无缝整合在一起。而之前的 Grid 需要将 store 对象包装为 model 对象才能使用。下文如果没有特殊声明,所有 Gird 或是 DataGrid 均指新版 DataGrid,而不是 Grid1.0。

图 1 .DojoX DataGrid

时间: 2024-09-20 00:08:08

掌握Dojo工具包,第8部分: 明日之星的相关文章

掌握Dojo工具包,第5部分:Dojo的UI组件库

Dijit 简介 从 Dojo 0.9 开始,Dojo 把 Widget 从 Dojo 的核心包中分离出来,组成 Dijit .Dojo 在 Dijit 中为 Widget 家族添加了多位成员,增强了 Widget 的实力的同时也加快了其在页面中的加载速度. 为改善 Widget 的外观,Dijit 提供了多套样式主题,比如默认绑定的样式主题 Tundra,提高页面可访问性的样式主题 A11y,以及其它两种可供选择的主题 Soria 和 Nihilo .并且开发人员还可以根据自身项目的需求开发个

使用Dojo工具包和JSON-RPC构建企业SOA Ajax客户端

引言 异步JavaScript和XML (Ajax)是使用本机浏览器技术构建富Web应用程序的新方法.对于编写需要某些类型的"活动"用户界面的复杂应用程序的开发人员,JavaScript 在这方面已经做得很好.不过,JavaScript 难于编码.调试.移植和维护.使用 Ajax 工具包有助于最大程度地减少使用 JavaScript和Ajax 带来的许多常见问题.优秀的Ajax 工具包提供了一组可重用的小部件.用于扩展和创建小部件的框架.事件系统.JavaScript 实用工具和增强的

掌握Dojo工具包,第1部分:Dojo入门简介

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

掌握Dojo工具包,第2部分:XHR框架与Dojo

XmlHttpRequest 对象的思考 在传统的以页面为单位的浏览器和服务器交互模式中,每一次服务器请求都会导致整个页面的重新加载,即使需要更新的仅仅是页面的一小部分(比如显示一个登录错误信息). Ajax 技术的出现给页面带来了一些变化,其中最直观的莫过于站点的页面上出现越来越多的" loading -","正在加载中--"等提示信息,有些忽如一夜春风来,loading 加载处处开的意思." loading -"或者"正在加载中--

掌握Dojo工具包,第6部分:Dojo Widget的高级应用

Dojo Widget 是 Dojo 极为重要的部分,因此在对 Dojo Widget 有了全面的了解以后,还应该加强对其使用机制的掌握. 创建 Dijit 的两种方式 Dojo 提供了两种方式给系统开发者去使用其所提供的 Dijit(Dijit 是 Dojo Widget 的简称).第一种方法是通过直接在页面中静态的写入带有 Dijit 属性的标签去实现该 Dijit 的使用:第二种方法是通过 Javascript 语句,动态的在当前使用页面中生成 Dijit. 第一种方法被称为静态创建 Di

掌握Dojo工具包,第4部分:Dojo中的拖拽

Dojo 支持的两种拖拽方式 在开始尝试了解实现 Dojo 拖拽效果的使用方法以前,首先必须明确拖拽具有两种截然不同的表现效果. 第一种表现效果是图标被拖拽到哪里,其就会被直接放到哪里,这个拖拽效果是图标完全紧跟拖拽的动作,与每一个拖拽动作的运动轨迹完全契合,这种效果被称为 "拖动".第二种表现效果是当图标被拖拽到一个地方,松开鼠标的时候,图标会以当前位置为基础而以其它图标为参照系进行位置的自动调整.这种效果被称为 "拖放". Dojo 的拖动 "拖动&q

掌握Dojo工具包,第7部分: Dojo的扩展

通过对本系列文章的前六个部分的学习,你已经对 Dojo 的强大功能有所了解了.但有时候 Dojo 的一些功能并不能完全满足实际的要求,这时就需要对 Dojo 进行扩展了,比如可以对 Widget 进行扩展,使它以更加符合项目的要求展现或响应行为.本文将详细介绍 Dojo 的面向对象特性,以及如何在这个特性上开发新的 Dojo 模块,创建新的 Dijit,定义自己个性化的 Widget. Dojo 类定义 JavaScript 基于原型的继承 JavaScript 是一门基于对象的语言,对象可以继

掌握Dojo工具包,第3部分:Dojo事件机制

DOM 事件模型 事件是用户与浏览器交互的基础,用户在界面的操作产生事件,浏览器捕获事件后对用户作出反馈.Ajax 技术通过引入异步调用使 web 应用的开发产生了革命性的变化,另一方面 Ajax 也使广大开发人员认识到用户和浏览器的交互可以如此精彩,Web 页面不再死板,开始鲜活起来,开发人员也不再厌恶编写 javascript 的事件处理代码.在 web 页面中,事件一般作用于 DOM 树节点,所以有必要先了解 DOM 的事件模型,包括模型支持那些事件,如何处理 DOM 树结构上的节点的事件

使用Dojo Toolkit向Web应用程序添加国际化和本地化功能

简介 Dojo Toolkit 是一个强大的 JavaScript 库,支持 Web 开发人员使用面向对象的窗口小部件,以极少的开发时间和精力创建富互联网应用程序 (Rich Internet Applications, RIA).这个库中包含 4 个程序包,分别为 Dojo(核心).Dijit(UI 框架).dojox(dojo 扩展)和 util.可按原样使用该工具包提供的功能,也可扩展该工具包并创建自己的窗口小部件.工具包中提供的功能包括 DOM 操作.使用 Ajax 开发.事件.数据存储