精通Dojo(图灵程序设计丛书)
分類: 图书,计算机与互联网,程序语言与软件开发,语言与开发工具,
品牌: 吉尔(Gill.R)
基本信息·出版社:人民邮电出版社
·页码:401 页
·出版日期:2009年09月
·ISBN:7115211663/9787115211668
·条形码:9787115211668
·包装版本:第1版
·装帧:平装
·开本:16
·正文语种:中文
·丛书名:图灵程序设计丛书
产品信息有问题吗?请帮我们更新产品信息。
内容简介《精通Dojo》详尽阐述了Dojo和Dijit。第一部分展示如何使用Dojo快速简便地构建强大的应用;第二部分多方面讨论了Dojo Core,它是Dojo中所有功能的基础;第三部分讲述Dijit,即Dojo小部件系统;第四部分展示如何构建富因特网应用程序。书中各个部分都提供了真实有效的示例代码,并经过了测试。《精通Dojo》适合具备基本Web编程经验的开发人员阅读。
作者简介Alex Russell Dojo,创始人、项目负责人,Dojo基金会主席,现在Google任职。
Rawld Gill,资深软件架构师,专长于医药行业软件开发。现任Vista医疗公司CEO。
Craig Riecke Dojo,开发者, Dojo在线文档的作者。
媒体推荐“看到这本书出版,我真是太高兴了。Dojo功能强大,要清楚地了解使用哪些API何时使用,如何使用,都是相当复杂的。本书不仅详细解释了这些API,还进一步告诉开发人员如何高效地使用这些API。”
——IBM Dojo软件包项目Dijit主管Bill Keese
编辑推荐《精通Dojo》:
深刻剖析Dojo工作原理,Dojo之父执笔的权威之作,国内权威社区DOJO中国组织翻译。
Doio是一个功能强大的面向对象开源JavaScript工具包,它为开发新一代Web程序提供了一套完整的小部件和一些特效,得到了IBM、Sun、Zend等公司的大力支持。
《精通Dojo》是Dojo之父Alex Russell与人编著的一部Dojo权威之作,全面深入地阐述了Dojo的基本用法、高级技巧和内部机理。全书先引入一个能让读者迅速上手的简单示例,进而逐步介绍TDojo的核心内容。最后给出应用Doio开发RlA应用的实例。通过《精通Dojo》,读者不仅可以熟悉Dojo框架的使用技巧,更可以借助它随心所欲地开发出自己的RIA应用。
目录
第1章 导论1
1.1 Dojo的一些主要方面3
1.1.1 Dojo不只是一个程序库,而是一个工具包3
1.1.2 Dojo着眼于广大的用户群4
1.1.3 Dojo是面向未来的4
1.1.4 Dojo是开源的4
1.1.5 Dojo分为三个项目5
1.1.6 Dojo具有高度的概念完整性5
1.2 如何使用本书6
1.2.1 预备知识6
1.2.2 示例代码6
1.2.3 关于调试6
1.2.4 本书大纲7
1.3 致谢7
第一部分 用Dojo玩转Ajax
第2章 轻松创建功能强大的Web表单10
2.1 顾客如何评价传统表单10
2.2 在服务器上安装Dojo11
2.3 把Dojo和Dijit添加到网页11
2.4 表单的布局14
2.4.1 准备页面14
2.4.2 用选项卡来组织表单15
2.4.3 有问题吗17
2.5 增强表单控制19
2.5.1 验证字段19
2.5.2 简单输入日期20
2.6 组合起来20
第3章 连接外部服务23
3.1 Dojo远程脚本23
3.2 与调用XHR相关的JavaScript习惯用语24
3.2.1 字面量和散列24
3.2.2 函数字面量27
3.3 使用dojo.data和dojox.grid.Grid的WishList29
3.3.1 JSON语言31
3.3.2 存根数据源32
3.3.3 数据可用的小部件,dojox.grid.Grid34
3.4 使用JSONP研究雪茄37
3.4.1 网格和事件39
3.4.2 XHR回调40
3.5 使用dojo.xhrGet实现评论系统42
3.6 错误与调试45
第二部分 DojoAPI
第4章 深入Dojo50
4.1 模块化JavaScript50
4.2 Dojo源代码组织52
4.2.1 Dojo模块的分类53
4.2.2 Dijit模块54
4.2.3 取得源代码54
4.3 载入Dojo55
4.3.1 运行时配置55
4.3.2 dojo.require57
第5章 JavaScript语言的扩展58
5.1 利用dojo.hitch实现绑定58
5.1.1 绑定上下文58
5.1.2 绑定参数61
5.2 JavaScript1.6的数组方法63
5.3 支持多态66
5.4 组合.结构化与复制对象68
5.4.1 混合对象68
5.4.2 复制对象69
5.4.3 复制类似数组的对象70
第6章 异步编程71
6.1 利用Dojo进行DOM事件编程71
6.1.1 编写事件处理函数72
6.1.2 处理函数签名72
6.1.3 键盘事件对象74
6.1.4 事件传播75
6.1.5 默认处理76
6.1.6 关联处理函数77
6.1.7 利用dojo.addOnLoad执行初始化代码79
6.1.8 DOM事件分类83
6.2 利用Dojo关联用户自定义事件83
6.2.1 截获JavaScript函数83
6.2.2 关联用户定义事件84
6.3 发布—订阅86
6.4 利用dojo.Deferred管理回调函数87
6.4.1 示例:构建一个高性能显示引擎88
6.4.2 实现进程控制90
6.4.3 利用dojo.Deferred注册回调函数91
6.4.4 错误处理93
6.4.5 声明回调函数和错误处理函数94
6.4.6 取消回调函数处理96
第7章 DOM工具100
7.1 核心DojoDOM工具函数100
7.2 查找和编辑节点104
7.2.1 dojo.query105
7.2.2 dojo.query选择器107
7.2.3 dojo.NodeList能做什么111
7.3 插入.移动和删除的DOM节点113
7.3.1 操纵DOM树示例114
7.3.2 使用dojo.place来移动节点115
7.4 定位DOM节点116
7.4.1 用CSS和Dojo定位116
7.4.2 动态定位节点119
7.5 动画121
7.5.1 DHTML动画基础121
7.5.2 使用dojo.animateProperty来实现动画122
7.5.3 使用dojo.anim来实现动画126
7.5.4 为问题列表挑战添加动画效果126
第8章 基于XHR.script和iframe编写远程脚本130
8.1 原生远程脚本130
8.2 使用Dojo的XHR框架131
8.2.1 调用dojo.xhr*132
8.2.2 args.ioArgs以及处理函数133
8.2.3 内容处理方式138
8.2.4 控制HTTP事务142
8.2.5 使用表单144
8.2.6 POST以及其他的HTTP方法145
8.2.7 DojoXHR的其他知识点146
8.3 使用script实现远程脚本146
8.3.1 探测动态加载的脚本147
8.3.2 Dojo对于动态Script元素的支持149
8.4 基于iframe编写远程脚本152
8.4.1 Dojo对于使用iframe的脚本的支持152
8.4.2 iframe的工具函数154
8.5 使用远程脚本访问Web服务155
8.5.1 明确定义远程过程调用155
8.5.2 使用dojo.rpc执行远程过程调用156
8.5.3 在Yahoo中使用DojoRPC159
8.6 书签和不带导航的后退按钮161
8.6.1 简单的单页Web应用161
8.6.2 使用dojo.back导航单页Web应用163
第9章 使用dojo.declare定义类166
9.1 为什么在JavaScript中使用面向对象编程..166
9.2 定义简单的类167
9.2.1 原型以及原型的继承167
9.2.2 Shape类的类继承168
9.2.3 使用dojo.declare定义一个简单的类169
9.2.4 dojo.declare创建的对象170
9.2.5 标准的使用模式172
9.3 使用单继承定义子类172
9.3.1 Circle对象空间174
9.3.2 调用父类中的方法175
9.3.3 手工添加父类方法176
9.4 聚合和多继承177
9.4.1 使用聚合派生新类178
9.4.2 各个实例的初始化180
9.4.3 使用聚合类进行类型测试182
9.5 预处理构造函数参数184
9.5.1 处理构造函数参数的方法185
9.5.2 使用散列来指定参数186
9.6 解决属性名称冲突的问题187
9.7 两阶段构造189
9.8 不使用构造函数创建自定义对象191
第10章 dojo.data193
10.1 鸟瞰193
10.1.1 捆绑的驱动类194
10.1.2 数据存储器不是数据库194
10.1.3 特性197
10.1.4 使用dojo.data.ItemFileReadStore的例子198
10.2 dojo.data和增量搜索199
10.2.1 建立一个数据存储器对象199
10.2.2 拉取提示数据200
10.2.3 自动完成201
10.2.4 查询201
10.3 使用QueryReadStore进行作业划分202
10.3.1 为什么你可能需要作业划分202
10.3.2 将dojo.data的请求翻译为URL203
10.4 从JavaScript调用读取方法204
10.4.1 fetch方法和分页204
10.4.2 排序205
10.4.3 fetch的处理函数205
10.4.4 更多的读取方法206
10.5 Yahoo搜索驱动207
第11章 Dojo加载器和构建系统213
11.1 概述213
11.1.1 加载器和构建系统协同工作213
11.1.2 跨域加载器214
11.2 Dojo加载器216
11.2.1 dojo.require216
11.2.2 模块路径216
11.2.3 设置模块路径217
11.2.4 使用模块路径控制版本发布218
11.2.5 dojo.provide219
11.2.6 模块模式219
11.2.7 为跨域加载器编程220
11.3 使用Dojo构建系统优化部署222
11.3.1 使用build打包Release程序223
11.3.2 Acmecorp的Magi-Browse223
11.3.3 步骤1:全部按照默认设置224
11.3.4 步骤2:打包227
11.3.5 步骤3:层打包230
11.3.6 步骤4:使用跨域加载器231
11.3.7 步骤5:压缩233
11.4 使用Dojo-Rhino压缩JavaScript资源233
第三部分 高级Dijit
第12章 编写小部件脚本238
12.1 到底什么是小部件238
12.1.1 声明式小部件239
12.1.2 编程式小部件240
12.2 查找并操作声明式小部件240
12.3 编程式地创建实例243
12.4 扩展点247
12.5 实例:实时表单252
第13章 树255
13.1 简单树结构255
13.2 带有层次结构的数据存储器257
13.2.1 ItemFileReadStore和树257
13.2.2 JavaScript中访问复杂数据259
13.3 扩展点261
13.3.1 盒子树261
13.3.2 onClick扩展点262
13.4 操作树结构262
13.4.1 添加.删除.修改树节点263
13.4.2 把树结构保存到服务器264
13.5 拖放266
13.5.1 一个小的重构267
13.5.2 _TreeNodes和关联对象269
13.5.3 检查施放操作270
13.5.4 施放和添加元素272
第14章 网格275
14.1 网格显示和设计275
14.1.1 子行277
14.1.2 视图278
14.2 编程式地创建结构279
14.2.1 JavaScript中网格结构的定义279
14.2.2 行选择条281
14.3 扩展点282
14.3.1 单元格层次扩展点282
14.3.2 聚合函数和onBeforRow扩展点283
14.3.3 行选择287
14.3.4 鼠标和键盘事件288
14.4 单元格编辑289
14.4.1 使用单元格编辑器290
14.4.2 单元格格式化:formatter扩展点291
14.4.3 数据同步292
14.5 网格操作292
14.5.1 排序292
14.5.2 过滤293
第15章 表单控件296
15.1 表单控件的特性296
15.1.1 Dijit表单控件和与之相对应的HTML代码296
15.1.2 通用方法297
15.1.3 提交表单297
15.2 流水线编辑298
15.2.1 对话框和工具提示对话框298
15.2.2 内联编辑器301
15.2.3 文本编辑301
15.3 反馈304
15.3.1 工具提示305
15.3.2 进度306
15.3.3 使用Toaster进行通知307
15.4 日期.数值与国际化308
15.4.1 标准格式309
15.4.2 约束与格式化309
15.4.3 取消标准形式312
15.4.4 反馈314
15.5 动作按钮.工具栏和菜单314
15.6 a11y317
15.6.1 Tab顺序318
15.6.2 获取扩展点的角色和状态318
第16章 Dijit主题.设计与布局321
16.1 主题结构321
16.1.1 制作主题所需的文件322
16.1.2 样式命名空间323
16.1.3 样式继承324
16.1.4 针对不同的浏览器的特定的样式定义325
16.2 改变网页的视觉效果326
16.2.1 单个HTML元素327
16.2.2 元素类327
16.2.3 主题段328
16.2.4 从零开始制作主题328
16.2.5 动态修改329
16.3 无障碍和主题330
16.4 面板:ContentPane和TitlePane331
16.5 停靠容器:BorderContainer335
16.6 栈容器337
第17章 创建和扩展小部件类341
17.1 使用dijit.Declaration定义小部件类341
17.2 通过dojo.declare定义小部件类346
17.3 小部件生命周期349
17.3.1 dojo.parser和小部件350
17.3.2 属性图350
17.3.3 呈现小部件351
17.4 扩展小部件352
17.5 示例:一个Yahoo问答小部件352
第四部分 富因特网应用程序
第18章 创建富因特网应用程序358
18.1 概述359
18.1.1 浏览器是一个UI平台359
18.1.2 浏览器应用框架359
18.1.3 工作空间对象简介360
18.1.4 命令系统361
18.1.5 状态栏362
18.1.6 可以按需载入数据的数据存储器363
18.1.7 模拟服务363
18.1.8 浏览器应用程序363
18.2 第1步:创建应用程序骨架363
18.2.1 组织结构364
18.2.2 创建主程序365
18.3 第2步:主菜单和命令系统368
18.3.1 命令元素存储器368
18.3.2 主菜单371
18.4 第3步:可定制的状态栏小部件375
第19章 向RIA中添加动态内容379
19.1 第4步:导航器面板及随需而变的数据存储379
19.1.1 按需检索树数据379
19.1.2 实现一个延时树数据驱动381
19.1.3 实现模拟服务383
19.1.4 连接各个部分385
19.2 第5步:工作区对象387
19.2.1 实现WSO小部件388
19.2.2 实现静态文本小部件392
19.2.3 将WSO连接到框架中395
第20章 继续学习399
20.1 基础库399
20.2 图形400
20.3 DojoData和存储器401
参考书目402
……[看更多目录]
文摘插图: