第Ⅰ部分 移动Web开发入门第1章 移动Web开发简介 3
1.1 移动Web和桌面Web 4
1.2 移动标记语言 6
1.2.1 HTML和XHTML 6
1.2.2 XHTML移动配置文件 7
1.2.3 WML 7
1.2.4 其他移动标记语言 8
1.3 移动脚本语言 9
1.4 移动样式表 10
1.5 移动行业组织和标准机构 10
1.6 移动生态系统 10
1.7 代码示例 11
1.8 小结 12
第2章 设置移动Web开发环境 13
2.1 建议的IDE 14
2.2 移动MIME类型 16
2.3 Web服务器配置 18
2.3.1 Apache 18
2.3.2 Microsoft IIS 19
2.3.3 Nginx 19
2.4 桌面设备上的移动Web浏览器 20
2.4.1 Firefox和移动增件 20
2.4.2 移动浏览器模拟器 29
2.4.3 真实的移动设备 32
2.5 其他开发工具 32
2.5.1 文件比较 32
2.5.2 源代码控制 33
2.6 小结 35
第Ⅱ部分 移动Web的语法第3章 移动标记语言 39
3.1 选择移动标记语言 39
3.2 XHTML 40
3.2.1 为什么不选择HTML 41
3.2.2 HTML 5 41
3.3 XHTML-MP 42
3.3.1 XHTML-MP文档示例 43
3.3.2 适用XHTML-MP的DTD 43
3.3.3 XHTML-MP中不支持的XHTML元素 43
3.3.4 XHTML-MP中更新的功能和移动设备特有的功能 45
3.3.5 常见的实现故障 50
3.4 用于移动设备的CSS 52
3.4.1 CSS2 52
3.4.2 无线CSS和CSS移动配置文件 52
3.4.3 确定移动设备CSS支持 57
3.4.4 移动CSS最佳实践 57
3.4.5 外部、内部和内联样式表 58
3.4.6 媒体选择器和依赖媒体的样式表 59
3.5 WML 60
3.5.1 标记层次结构 62
3.5.2 特殊字符 63
3.5.3 头和元数据 64
3.5.4 文本格式 65
3.5.5 链接 67
3.5.6 图像 71
3.5.7 表 72
3.5.8 计时器 74
3.5.9 变量 75
3.5.10 用户输入 78
3.5.11 其他WML语言功能 82
3.6 小结 83
第4章 设备识别和内容自适应 85
4.1 设备识别 86
4.1.1 使用HTTP请求头识别移动设备 86
4.1.2 使用设备数据库获取设备功能 87
4.2 内容自适应 106
4.2.1 创建设备组 108
4.2.2 选择调整点 109
4.2.3 为设备组编写内容自适应规则 109
4.2.4 实现内容自适应 111
4.2.5 移动Web中的内容自适应 114
4.3 小结 117
第5章 使用JavaScript和AJAX增加交互性 119
5.1 迭代开发方法 120
5.2 移动浏览器中的JavaScript 120
5.2.1 ECMAScript移动配置文件 121
5.2.2 在标记文档中嵌入JavaScript 121
5.2.3 移动浏览器中的JavaScript分段 125
5.2.4 移动JavaScript的示例 127
5.3 移动浏览器中的AJAX 132
5.3.1 移动浏览器的AJAX示例 136
5.3.2 测试移动浏览器中的AJAX支持 141
5.4 小结 141
第Ⅲ部分 高级移动Web开发技术第6章 移动Web可用性 145
6.1 适用于可用移动Web站点的最佳实践 146
6.1.1 案例分析1:Bank of America 146
6.1.2 案例分析2:CNN 148
6.1.3 案例分析3:Wikipedia 149
6.1.4 案例分析4:Flickr 151
6.2 移动浏览器布局比较 152
6.3 设计移动Web页面 154
6.3.1 灵活的参考设计 154
6.3.2 标准布局 155
6.3.3 新闻网站 155
6.3.4 搜索网站 156
6.3.5 服务网站 157
6.3.6 门户网站 158
6.3.7 多媒体共享网站 159
6.4 设计指导原则 159
6.4.1 开发移动Web页面的提示 160
6.4.2 为最大数量的用户创建Web页面 161
6.4.3 创建更好的移动用户体验 162
6.5 小结 163
第7章 针对智能手机浏览器增强移动Web页面 165
7.1 智能手机浏览器的通用Web技术 166
7.1.1 Viewport Meta标记 166
7.1.2 在JavaScript中检测方向变更 167
7.2 移动浏览器中的WebKit 172
7.3 用于iPhone的Safari Mobile 175
7.4 用于Android移动设备的浏览器 176
7.5 用于Palm Pre的webOS浏览器 177
7.6 BlackBerry浏览器 178
7.7 Nokia Series 60智能手机中的Nokia Web浏览器 180
7.8 用于Windows Mobile设备的Internet Explorer Mobile浏览器 181
7.9 Opera Mini和Opera Mobile浏览器 182
7.10 小结 184
第Ⅳ部分 部署到移动生态系统中第8章 优化移动标记 187
8.1 移动标记的后期处理技术 188
8.1.1 最小化外部资源 188
8.1.2 删除空白、注释和不必要的标记 190
8.1.3 对图像进行调整和代码转换处理 198
8.1.4 响应文档的MIME多节编码 199
8.2 移动浏览器的Web服务器优化 203
8.2.1 gzip或deflate响应压缩 204
8.2.2 HTTP响应头中的缓存指令 206
8.3 小结 211
第9章 验证移动标记 213
9.1 有效的标记在移动Web中的重要性 214
9.2 验证过程不会测试的内容 218
9.3 公共标记检验器 219
9.3.1 W3C标记验证服务 220
9.3.2 W3C CSS验证服务 221
9.3.3 W3C mobileOK检查器 223
9.3.4 mobiReady 224
9.3.5 Validome 226
9.4 小结 228
第10章 测试移动Web站点 229
10.1 移动Web测试方法 230
10.1.1 移动浏览器测试注意事项 231
10.1.2 选择在测试中使用的移动设备 232
10.2 在真实的移动设备上进行测试 232
10.2.1 获取移动设备 233
10.2.2 开发人员计划 234
10.3 在移动模拟器上进行测试 237
10.4 在桌面浏览器中进行测试 238
10.5 小结 240
第11章 部署移动Web站点 241
11.1 将移动流量路由到移动Web站点 241
11.1.1 标准移动Web域和路径名称 242
11.1.2 移动切换算法 243
11.1.3 移动切换产品 246
11.2 移动SEO和流量获取 247
11.2.1 移动搜索引擎和爬网程序 248
11.2.2 使用链接关系进行移动站点发现 249
11.2.3 移动站点地图 250
11.2.4 适用于移动Web的SEO 251
11.2.5 需要忘记的一些SEO实践 252
11.3 小结 254
第12章 如何在移动生态系统中应对自如 255
12.1 运营商、代码转换器以及代理 255
12.1.1 公共Internet上的代码转换器 258
12.1.2 标准化代码转换器行为 260
12.2 移动Web的防御性编程 261
12.2.1 将标记声明为移动友好 262
12.2.2 标识来自代码转换器的请求 263
12.3 小结 267
第13章 移动Web的未来 269
13.1 移动Web专家对移动领域未来发展趋势的看法 270
13.2 小结 279
第Ⅴ部分 附录 283
附录A 移动设备中的示例用户-代理 283
附录B 移动设备中的示例请求头 287
附录C 术语表 293
附录D 案例分析:测试移动浏览器缓存和性能 299