第1章 AJAX和RIA 1
1.1变化中的Web 2
传统Web应用之痛 3
AJAX止痛药 4
1.2企业中的AJAX 6
1.3采用AJAX的驱动因素 7
可用性 7
网络利用率 9
以数据为中心 10
渐增的技巧、工具和技术升级 10
服务器中立 10
1.4关于应用 10
AJAX技术 11
编程模式 12
1.5 AJAX的替换技术 12
XUL 12
XAML 13
Java Applet和Web Start 13
Adobe Flash、Flex和Apollo 13
OpenLaszlo 14
1.6小结 14
1.7资源 15
第2章 AJAX构建块 16
2.1 JavaScript 16
JavaScript类型 17
闭包 18
面向对象的JavaScript 19
prototype属性 21
面向对象编程和继承 22
易变性 24
线程 25
错误处理 26
命名空间 26
2.2 DOM 27
基本原理 28
操作DOM 30
2.3 CSS 31
继承和层叠 32
内联样式 33
样式表 33
动态样式 35
2.4事件 38
事件流 39
事件绑定 40
跨浏览器事件 42
事件对象 44
2.5客户端/服务器通信 44
XMLHttpRequest基础知识 45
处理数据 51
2.6小结 53
2.7资源 53
第3章 Web浏览器中的AJAX 55
3.1基于组件的AJAX 55
渐增的AJAX 56
对服务器的影响 56
3.2 HTML标准 57
文档类型定义 57
盒子模型 59
3.3启动加载AJAX组件 60
onload事件 60
浏览器编码技巧 63
3.4模型-视图-控制器 66
视图 66
控制器 68
模型 69
3.5 AJAX MVC 70
AJAX模型 70
AJAX视图 77
AJAX控制器 79
面向方面的JavaScript 86
3.6小结 88
3.7资源 88
第4章 AJAX组件 89
4.1命令式组件 89
4.2声明式组件 92
服务器端声明式编程 92
声明式Google地图 93
替代方法 97
4.3自定义声明式组件 98
行为式组件 100
声明式组件 103
关于声明 107
4.4构建组件 110
基本功能 110
连接到服务器 114
最终版本 117
4.5小结 119
4.6资源 119
第5章 从设计到部署 120
5.1设计 120
AJAX建模 121
应用模型-视图-控制器模式 121
预先考虑性能问题 122
5.2原型设计 123
线框绘制 124
验证设计决议 128
5.3测试 136
测试驱动开发 136
调试 147
5.4部署 151
JavaScript压缩 151
图片合并 155
保护知识产权 156
文档 157
5.5小结 158
5.6资源 159
第6章 AJAX架构 160
6.1多层架构:从单层到多层 160
6.2异步消息 161
6.3轮询 162
6.4服务器推送 162
6.5跟踪请求 163
6.6缓存:处理数据 164
6.7基本缓存 165
6.8在组件中缓存 166
6.9在浏览器中缓存 169
6.10在服务器中缓存 171
6.11在数据库中缓存 173
MySQL 174
MS SQL Server 174
Oracle 174
6.12更新服务器模型:并发 174
悲观锁定 175
只读锁定 175
乐观锁定 175
冲突鉴定 175
冲突解决 177
自动的冲突解决 178
6.13流量控制 178
客户端 178
服务器 179
6.14可伸缩性 179
负载平衡和群集 180
AJAX可伸缩性问题 181
6.15离线AJAX 181
6.16 FireFox离线存储 183
6.17 IE userData离线存储 185
6.18使用Flash客户端存储 186
6.19离线AJAX和并发 188
6.20小结 189
6.21资源 189
REST和Web服务 189
缓存 189
数据库性能 190
离线AJAX 190
第7章 Web Service和安全性 191
7.1 Web Service 191
7.2 Web Service协议 192
表象状态传输 192
XML远程过程调用 192
Web Service 193
选择合适的工具 194
7.3客户端的SOAP 196
IBM Web Service JavaScript库 196
Firefox 198
IE 199
7.4跨域Web Service 200
服务器代理 200
URL片段标识符 202
Flash跨域XML 204
脚本注入 204
7.5安全性 205
7.6 AJAX的安全性考虑 206
7.7跨域漏洞 206
跨站脚本 207
跨站请求伪造 210
JavaScript劫持 211
7.8 SQL注入 213
预处理语句 214
存储过程 215
XPath注入 216
7.9数据加密和隐私 216
7.10防火墙 217
7.11小结 218
7.12资源 218
第8章 AJAX可用性 219
8.1常见问题 219
后退按钮和书签 220
页面大小 228
自动提交 230
8.2可访问性 231
识别用户的可访问性需求 232
JavaScript和Web可访问性 232
屏幕阅读器和可访问性 232
不该为屏幕阅读器提供的解决方案 233
兼容JAWS的AJAX交互 233
键盘可访问性 235
8.3可用性测试 237
8.4迅速而又随性的测试 237
征募参与者 237
设计并运行测试 238
8.5软件辅助测试 238
用于测试可用性的工具 238
对软件辅助测试的一般忠告 239
8.6小结 239
8.7资源 239
后退按钮 239
可用性测试 240
第9章 用户界面模式 241
9.1显示模式 241
9.2交互模式 248
9.3小结 256
9.4资源 256
拖曳资源 256
进度栏资源 257
活动指示器资源 257
颜色淡出资源 257
即时编辑资源 257
向下钻取资源 257
即时搜索资源 257
即时表单资源 257
第10章 风险和最佳实践 258
10.1风险来源 258
技术风险 259
文化/政策风险 259
市场风险 259
10.2技术风险 259
范围 259
浏览器能力 260
可维护性 261
向前兼容 261
第三方工具支持和代码过时 262
10.3文化和政策风险 262
终端用户的期待 263
可培训性 263
合法性 264
10.4市场风险 264
搜索引擎的可访问性 264
范围 266
货币化 266
10.5风险评估和最佳实践 267
采用特定的AJAX框架或者组件 267
渐进增强和不唐突的JavaScript 267
Google网站地图 269
可视化提示 270
避免镀金式设计 270
制定维护计划 271
采用一种收益模型 271
把培训作为应用的一部分 272
10.6小结 272
10.7资源 273
搜索引擎优化 273
统计 273
网站地图 273
屏幕截取工具 273
第11章 案例研究 274
11.1基于Web 2.0重新武装美国国防部 274
背景 274
挑战 275
解决方案 275
采用技术 275
成果 276
11.2 Agrium公司将AJAX技术整合到实际运作中 276
背景 276
挑战 277
解决方案 277
采用的技术 279
成果 279
11.3 AJAX助力国际运输与物流公司 279
背景 279
挑战 280
解决方案 280
采用的技术 282
成果 282
11.4小结 283
11.5资源 284
附录A OPENAJAXHUB 285