标题：Rich Internet Application高级编程后Ajax时代
基本信息
ISBN：9787302189220
定价：68元
印次：1-1
装帧：平装
印刷日期：2008-12-23
图书简介
现在，Web同样能给用户提供与桌面应用程序等价的丰富体验与功能。书中介绍了如何结合几种前沿技术来开发成熟的Web应用程序，从而将对AJAX和RubyonRails的应用提升到一个新台阶。本书不仅为您的实现提供代码，还分析了若干架构和浏览器内的API。学习本书后，您将能够全面深入地了解专业RIA开发背后的基本设计原则以及多种可用的工具，能够将一个应用程序分为客户端和服务器端技术来实现。此外，您还能充分掌握一些重要概念，如mashups、自动补全功能和社会站点标记等。
书籍目录
目录
第Ⅰ部分RIA简介
第1章RIA的特征 3
1.1RIA就是“塑料信用卡” 3
1.1.1一个可塑性(动态的)Web页面
的示例 4
1.1.2用样式表创建更好的页面 6
1.2RIA：Web具有颠覆性(最终) 7
1.3RIA是无形性的 9
1.3.1Google的无形性 9
1.3.2关注RIA 10
1.4RIA冲破“围墙花园” 11
1.5RIA创建新花园 12
1.5.1无围墙花园中的约束 12
1.5.2“反宣言” 14
1.6RIA总是最新的 16
1.7RIA是操作系统终结者 17
1.7.1Web2.0分层 17
1.7.2层叠样式表 18
1.7.3超越桌面时代 18
1.7.4Java是成功者还是失败者 18
1.8RIA是以浏览器为中心的 19
1.9RIA是以网络为中心的 20
1.10RIA是一种思想的转变 21
1.10.1开发人员的思想转变 21
1.10.2我们的思想转变 22
1.11RIA是服务软件 22
1.12RIA应用程序以用户为中心 23
1.13RIA本质上是一种协作 23
1.14RIA：小而敏捷的开发 24
1.15RIA跳跃式变化 24
1.16如何改变开发应用程序的
方式 25
1.17RIA的盈利方式 26
1.18RIA是诱人的 27
第2章RIA基础知识 33
2.1XML：Internet的通用语 34
2.1.1XML基础 34
2.1.2使用属性 35
2.1.3DOM树 36
2.2XHTML：一种文档语言 39
2.2.1文档结构 40
2.2.2文本结构 41
2.2.3描述文本类型 42
2.2.4文本内对象 43
2.2.5文档配置 44
2.3CSS：一种样式语言 45
2.3.1向Web页面上添加CSS 46
2.3.2用数字绘画 47
2.3.3CSS级联摆动 49
2.3.4在RIA中充分利用CSS的
优点 50
2.4JavaScript：一种动态语言 51
2.4.1将JavaScript附加到Web
页面中 51
2.4.2将JavaScript绑定到用户
行为上 53
2.4.3从DOM树移除和添加 55
2.4.4检查并设置元素的内容 56
2.5结束示例——Angela’s
Ristorante 57
2.6小结 62
第3章可编程Web：混搭生态系统 63
3.1准备工作 64
3.2概述 65
3.2.1xmlHttpRequest对象 65
3.2.2一个简单的最初混搭 67
3.2.3使用XML输出 67
3.2.4使用JSON输出 78
3.3代理服务器及其用途 85
3.3.1使用代理服务器 86
3.3.2不使用代理服务器 88
3.3.3XML或者JSON 89
3.4Yahoo和Google交通混搭 89
3.4.1获得一个地理代码 89
3.4.2获取交通报告 93
3.4.3向head中动态地注入
script标记 95
3.4.4将终极混搭集中在一起 98
3.4.5综合应用程序混搭 102
3.5小结 107
第4章创建RIA 109
4.1两种场景：假如餐馆和Web
应用程序一样运作 109
4.1.1不寻常的餐厅 109
4.1.2另一种体验 110
4.1.3与Web应用程序的关系 111
4.2AJAX与传统方法的比较 112
4.2.1传统Web应用程序 112
4.2.2传统Web应用程序的限制 114
4.2.3使用AJAX的Web
应用程序 114
4.2.4和传统方法相比使用
AJAX的优点 116
4.2.5AJAX组件 116
4.3开发环境配置 116
4.4第一个RIA：HelloWorld 117
4.4.1创建HelloWorldv1.html 117
4.4.2添加一个JavaScript事件
处理器 118
4.4.3定义JavaScript主体部分 118
4.4.4创建异步请求 119
4.4.5定义事件处理器函数 119
4.4.6定义回调函数 120
4.4.7处理服务器的响应 121
4.4.8完整的HelloWorldv3.html
文件 123
4.4.9创建helloFiles目录 123
4.5添加服务器端 125
4.5.1编写服务器端PHP 125
4.5.2编写JavaServlet 128
4.5.3改进客户机应用程序 132
4.6小结 135
第Ⅱ部分探索RIA
第5章调试客户端 139
5.1调试工具 139
5.1.1Firefox 140
5.1.2MozillaDOMInspector 141
5.1.3JavaScript控制台 142
5.1.4Venkman 142
5.1.5FireBug 143
5.1.6标记验证 145
5.1.7更多工具 145
5.2日志系统 145
5.2.1警告函数 147
5.2.2一种非常简单的记录器 147
5.2.3家庭作业 149
5.3小结 150
第6章模型-视图-控制器(MVC)
模式 151
6.1模式-视图-控制器 151
6.1.1起源：事物-模型-视图-
编辑器 152
6.1.2模式-视图-控制器的细节 153
6.2在Java中使用MVC 157
6.2.1模型2体系结构 158
6.2.2Java中健康病史的设计 160
6.2.3Java的MVC架构 161
6.3Web应用程序架构 163
6.3.1RubyonRails：一种基于
Ruby的MVC架构 165
6.3.2TurboGears：一种基于
Python的Rails选择 167
6.3.3MVC实现方式的快速
参考 170
6.4小结 171
第7章JavaScript库概述 173
7.1JavaScript库基础知识 174
7.1.1使用JavaScript库的原因 174
7.1.2各种库 176
7.1.3库属性 176
7.1.4库通常具有的功能 177
7.2JavaScript库的细节 178
7.2.1Dojo 178
7.2.2MochiKit 181
7.2. 185
7.2.4Yahoo!UI库 187
7.3JavaScript库的快速参考 190
7.4小结 190
第8章编译为JavaScript 191
8.1第一代竞争者 192
8.2GoogleWeb工具箱(GWT) 192
8.2.1GWT的优点 193
8.2.2GWT的缺点 194
8.2.3用GWT开发 194
8.2.4开发工具 197
8.2.5GWT外观 198
8.2.6自动串行化 200
8.3RubyJavaScript(RJS) 201
8.3.1RJS的优点 202
8.3.2RJS的缺点 202
8.3.3RJS开发 203
8.3.4RJS外观 204
8.4小结 206
第9章初识ideaStax 207
9.1ideaStax操作概念 208
9.1.1创建新Stack、新Card、
新Concept 209
9.1.2创建Card 211
9.2开始使用ideaStax：基本
元素 214
9.2.1ideaStax 214
9.2.2MySQL 216
9.2.3RubyonRails设置 216
9.3ideaStax：实现细节 218
9.3.1解构Concept、Card和
Stack 218
9.3.2检验Concept、Card和
Stack 220
9.4实现视图 221
9.5实现控制器 223
9.5.1创建HTTPPOST或GET
测试 224
9.5.2将RubyJavaScript结构
作为一个局部呈现使用 224
9.6Rails控制流程 227
9.7小结 228
第Ⅲ部分RIA开发进级
第10章表单有效性验证 233
10.1在系统中合并表单有效性
验证 233
10.1.1服务器端完整表单的
有效性验证 234
10.1.2客户端使用JavaScript
进行有效性验证 234
10.1.3服务器端单个表单元素
的异步有效性验证 235
10.2捕获用户信息 235
10.3禁用的用户表单 236
10.4有效性验证实践：使用Dojo
进行客户端验证 241
10.4.1安装Dojo工具箱 242
10.4.2开始使用Dojo 242
10.4.3使用客户端验证函数 243
10.4.4使用Dojo验证小部件 243
10.5有效性验证实践：完整表单
的服务器端验证 254
10.5.1实现服务器端有效性
验证 255
10.5.2定义模型 255
10.5.3定义控制器 257
10.5.4定义Helper类 259
10.5.5编译运行Servlet 263
10.5.6通过扩充视图实现
客户端验证 264
10.5.7通过添加其他表单字段
的验证扩充Helper类 266
10.6有效性验证实践：用户名的
服务器端验证 269
10.6.1扩充视图 270
10.6.2扩充控制器 272
10.7小结 273
第11章表单的可用性 275
11.1概述 276
11.2可用表单 276
11.2.1表单中同步JavaScript
的局限性 276
11.2.2AJAX和JavaScript效果
在表单中的优势 277
11.3表单可用性的实践：用服务
器数据填充字段 278
11.3.1服务器端的实现 279
11.3.2通过增强视图实现
客户端 285
11.4表单可用性的实践：使用
服务器支持的组合框 288
11.4.1自动完成组合框的示例：
汽车品牌 288
11.4.2由服务器填充的组合框
示例：汽车型??288
11.4.3服务器端的实现 290
11.4.4通过增强视图来实现
客户端 293
11.5小结 299
第12章拖放 303
12.1Prototype和Script
简介 303
12.1.1Prototype和Script的性能 304
12.1.2获得Prototype和
Script 304
12.2物理世界中的DOM元素 304
12.2.1Draggable 305
12.2.2Droppable 307
12.2.3排序列表 309
12.3上下文中的拖放：ideaStax
编辑器 309
12.3.1基本设计 310
12.3.2设计拖放 312
12.3.3实现方案 312
12.4客户专用的ideaStax
编辑器 313
12.4.1使用Script.<CITE style="BACKGROUND: none transparent scroll repeat 0% 0%" class=highlight highlight="true">aculo</CITE>的
Builder动态创建幻灯片 313
12.4.2用可拖动的幻灯片
填充库 315
12.4.3创建可释放的编辑器
窗格 318
12.4.4实现排序时间线 320
12.4.5客户专用实现方式小结 322
12.5服务器支持的ideaStax
编辑器 323
12.5.1Rails 324
12.5.2创建模型 325
12.5.3创建视图 330
12.5.4创建控制器 335
12.5.5端对端ideaStax编辑器 338
12.6小结 339
第13章用户交互作用、效果和
动画 341
13.1效果简介：隐藏和查找 342
13.2script.<CITE class=highlight highlight="true"></CITE>效果类 343
13.2.1使用效果 343
13.2.2示例：基于效果的通知 345
13.2.3将效果绑定到其他
Script.<CITE style="BACKGROUND: none transparent scroll repeat 0% 0%" class=highlight highlight="true">aculo</CITE>动作 347
13.2.4组合效果 349
13.3模式窗口和ideaStax
预览器 349
13.3.1定位预览窗口 351
13.3.2抽取预览窗口 353
13.3.3切进切出预览窗口 354
13.3.4生成预览模式 355
13.3.5完成的模式预览 357
13.4小结 359
第14章标记和分级(I)：创建基础
组织 361
14.1标记问题 362
14.2标记应用程序 363
14.3数据挖掘 371
14.3.1下载照片元数据 371
14.3.2访问照片元数据 372
14.4建立数据模型 373
14.5建立数据表 374
14.5.1填充图片数据库 378
14.5.2建立Flickr照片接口 381
14.6评分标记 384
14.6.1使用样式来实现标记云 384
14.6.2来自Tagger的JSON
数据 386
14.6.3数据库查找 387
14.6.4获得标记照片的服务器
端CGI 389
14.6.5动态生成的RIAPage 390
14.7小结 391
第15章标记和分级(II)：使用社会
性能 393
15.1Stax的现状 393
15.1.1Stax设计中心 394
15.1.2检索概念和卡 396
15.1.3开始：基本要素 396
15.1.4实现控制器和视图 405
15.2小结 414
第Ⅳ部分高级主题
第16章提供API 419
16.1选择如何提供服务 419
16.1.1自产的解决方案 420
16.1.2Web服务解决方案 420
16.1.3从正式中选择非正式 420
16.1.4通过HTTP提供服务 421
16.2计量访问 421
16.3定义接口 424
16.4Stax的示例API 424
16.4.1写文档 424
16.4.2文档样本 424
16.4.3构造API 426
16.5小结 430
第17章RIA小部件 431
17.1概述 432
17.2开始：基本要素 432
17.2.1使用WidgetConverter
(小部件转换器)打开
小部件 433
17.2.2文件结构和包装 434
17.2.3小部件规范文件概述 435
17.3定义自己的第一个小部件：
HelloWorld练习 435
17.3.1基本的HelloWorld
小部件 435
17.3.2使用WidgetConverter
包装小部件 438
17.3.3扩充HelloWorld 438
17.4更有用的示例：合并
StaxAPI 444
17.4.1建立示例 445
17.4.2创建基本小部件 445
17.4.3添加文件拖放 447
17.4.4将概念上传到Stax
服务器 449
17.5小结 456
第18章富沉浸式环境 457
18.1富沉浸式环境回顾：
MagicCap时代 458
18.2之后：SnowCrash时代 459
18.3现在：SecondLife时代 460
18.4SecondLife:编程人员的
观点 461
18.4.1LSL数据类型 462
18.4.2状态 464
18.4.3LSL语句和流程控制 467
18.5开始：SecondLife的
基本元素 468
18.6将SecondLife连接到
现实生活 469
18.7SecondLife的Web2.0
演示 472
18.7.1客户端(SecondLife)
查询生成器 472
18.7.2日查询处理程序的
服务器端引用 474
18.8小结 475
第Ⅴ部分附录
附录ADojo确认函数和标记 483[1]