1 跨终端Web 1
1.1 终端VS.设备 1
1.2 一个贯穿全书的例子 2
1.3 后续章节 3
1.4 移动优先 4
1.4.1 移动流量暴增 4
1.4.2 聚焦业务本质 5
1.4.3 人机交互扩展 7
1.4.4 再说书名 8
1.5 不只是响应式 8
1.5.1 响应式 8
1.5.2 多站点 13
1.5.3 多模板 13
1.5.4 多平台 15
1.6 解决方案 16
2 Mobile Web 17
2.1 HTML5 18
2.2 HTML 19
2.2.1 移动页面模板 19
2.2.2 Viewport 21
2.2.3 touch-icon 26
2.2.4 其他 27
2.3 触屏事件 27
2.3.1 触屏事件一览 27
2.3.2 通用触屏事件 28
2.4 调试式 31
2.4.1 远程调试 31
2.4.2 设备调试 43
2.5 兼容性 44
2.5.1 OS版本碎片化 44
2.5.2 国内的特殊情况 46
2.5.3 WebView 46
2.5.4 更多工具 46
2.6 文档 48
3基准 51
3.1 GBS 51
3.2 MGBS 53
3.2.1 准备 53
3.2.2 操作系统分级 54
3.2.3 屏幕分辨率分级 65
3.2.4 浏览器分级 71
3.2.5 MGBS 73
3.3 GTE 75
3.3.1 分层设计 76
3.3.2 核心层 76
3.3.3 数据层 78
4检测 81
4.1 终端 81
4.1.1 什么是终端 81
4.1.2 分类 82
4.2 终端检测 82
4.2.1 场景 82
4.2.2 原理 83
4.2.3 实现 85
4.3 遗留问题 86
4.3.1 硬件信息 86
4.3.2 更精准的终端检测 86
5接口 87
5.1 跨终端流程复用 87
5.1.1 示例1 87
5.1.2 示例2 88
5.2 IF 89
5.2.1 始于一次重构 90
5.2.2 新的环境 95
5.2.3 模型 95
5.2.4 解决方案 96
5.2.5 架构 96
5.2.6 路线图 99
5.3 if-spec 2.0 102
5.3.1 JSON Schema 102
5.3.2 Demo 109
5.3.3 meta 113
5.3.4 if-spec 1.0 114
5.4 if-mock 2.0 116
5.5 if-guide 2.0 118
5.6 总结 122
6定位 125
6.1 定位 126
6.1.1 Hash 126
6.1.2 HistoryAPI 127
6.1.3 视图定位 129
6.2 数据 129
7预览 131
7.1 客户端 132
7.2 服务端 133
7.3 示例 136
8 Hybrid App 139
8.1 Hybrid简史 139
8.1.1 背景 139
8.1.2 简史 140
8.1.3 现状 142
8.2 Hybrid技术 144
8.2.1 Native调用Web 144
8.2.2 Web调用Native 144
8.2.3 Bridge 146
8.3 Hybrid框架 150
8.3.1 PhoneGap 151
8.3.2 Titanium 152
8.4 Device API 153
8.4.1 动作传感器 156
8.4.2 环境传感器 158
8.4.3 音频 159
8.4.4 视频 160
8.5 小结 160
9存储 161
9.1 状态持久化 162
9.2 技术方案 163
9.2.1 整体方案 163
9.2.2 跨终端存储方案 164
9.2.3 跨域通信方案 166
9.2.4 安全性 168
9.2.5 遗留问题 168
9.3 使用 168
9.3.1 实例化 169
9.3.2 set/get 169
9.3.3 remove/clear 170
9.3.4 推荐命名 170
10动作同步 171
10.1 原理 171
10.1.1 案例 171
10.1.2 动作同步 172
10.2 实现 173
10.2.1 Selenium 173
10.2.2 脚本录制和回放 174
附录A GBS 183
附录B JSON Schema Core 189
附录C JSON Schema Validation 201
附录D if-spec 2.0 221
作者简介 225