第1章 移动APP开发概述 1
1.1 从移动开发说起 2
1.1.1 关于移动开发 2
1.1.2 移动Web开发历史 2
1.1.3 移动Web开发的问题 3
1.1.4 移动Web开发的前景 3
1.1.5 比较桌面和移动端Web开发 3
1.2 HTML5与移动Web开发 4
1.3 移动Web与原生应用比较 5
1.3.1 移动Web 5
1.3.2 原生应用 5
1.3.3 如何选择应用方案 6
1.4 移动Web开发知识结构 6
1.5 初识移动Web开发技术 8
1.5.1 移动Web设计 8
1.5.2 关于WebKit 10
第2章 HTML5基础 12
2.1 HTML5概述 13
2.1.1 HTML历史 13
2.1.2 浏览器检测 13
2.1.3 HTML5语法特性 14
2.2 HTML5文档 16
2.2.1 编写第一个HTML5文档 16
2.2.2 比较HTML4与HTML5文档结构 17
2.3 头部信息 18
2.3.1 定义网页标题 18
2.3.2 定义网页元信息 19
2.3.3 定义文档视口 20
2.3.4 移动Web头信息 21
2.4 构建基本结构 22
2.4.1 定义文档结构 22
2.4.2 定义内容标题 23
2.4.3 使用div元素 25
2.4.4 使用id和class 26
2.4.5 使用title 27
2.4.6 HTML注释 27
2.5 构建语义结构 28
2.5.1 定义页眉 28
2.5.2 定义导航 29
2.5.3 定义主要区域 31
2.5.4 定义文章块 31
2.5.5 定义区块 33
2.5.6 定义附栏 34
2.5.7 定义页脚 34
2.5.8 使用role 35
2.6 案例实战 37
2.7 在线练习 39
第3章 JavaScript基础 40
3.1 在网页中使用JavaScript 41
3.1.1 编写脚本 41
3.1.2 脚本在网页中的位置 43
3.2 JavaScript基本规范 44
3.3 变量和类型 44
3.3.1 变量 44
3.3.2 数据类型 45
3.4 表达式和运算符 46
3.4.1 表达式 46
3.4.2 运算符 47
3.5 语句 48
3.5.1 表达式语句和语句块 48
3.5.2 条件语句 49
3.5.3 循环语句 51
3.5.4 跳转语句 52
3.6 函数 53
3.6.1 定义函数 54
3.6.2 调用函数 55
3.6.3 函数参数 55
3.7 对象 57
3.7.1 创建对象 57
3.7.2 访问对象 57
3.8 数组 58
3.8.1 定义数组 58
3.8.2 存取元素 59
3.9 在线练习 60
第4章 使用HTML5访问位置 61
4.1 Geolocation API基础 62
4.1.1 GeolocationAPI应用场景 62
4.1.2 位置信息来源 62
4.1.3 位置信息表示方式 62
4.1.4 获取位置信息 63
4.1.5 浏览器兼容性 65
4.1.6 监测位置信息 65
4.1.7 停止获取位置信息 66
4.1.8 保护隐私 66
4.1.9 处理位置信息 66
4.1.10 使用position 67
4.2 案例实战 68
4.2.1 定位手机位置 68
4.2.2 获取经纬度及其详细地址 69
4.2.3 输入提示查询位置 70
4.2.4 从当前位置查询指定位置路线 72
4.2.5 记录行踪路线 73
4.3 在线练习 76
第5章 使用HTML5访问多媒体设备 77
5.1 WebRTC基础 78
5.1.1 认识WebRTC 78
5.1.2 访问本地设备 78
5.2 案例实战 80
5.2.1 拍照和摄像 80
5.2.2 录音并压缩 82
5.3 在线练习 85
第6章 使用HTML5访问传感器 86
6.1 传感器API基础 87
6.1.1 认识传感器API 87
6.1.2 方向事件和移动事件 87
6.1.3 浏览器支持 89
6.1.4 应用场景 89
6.2 案例实战 89
6.2.1 记录摇手机的次数 90
6.2.2 重力测试小游戏 91
6.3 在线练习 93
第7章 使用HTML5绘图 94
7.1 使用canvas 95
7.2 绘制图形 97
7.2.1 矩形 97
7.2.2 路径 98
7.2.3 直线 99
7.2.4 定义颜色 100
7.2.5 定义透明度 101
7.2.6 定义线性渐变 103
7.2.7 定义径向渐变 104
7.2.8 定义阴影 105
7.3 绘制文字和图像 105
7.3.1 绘制文字 106
7.3.2 导入图像 106
7.3.3 将图像写入画布 108
7.3.4 保存图片 108
7.4 案例实战 110
7.4.1 设计基本动画 110
7.4.2 设计运动动画 112
7.4.3 设计地球和月球公转动画 114
7.4.4 在画布上裁剪图像 115
7.5 在线练习 117
第8章 使用HTML5多媒体 118
8.1 使用HTML5音频和视频 119
8.1.1 使用〈audio〉 119
8.1.2 使用〈video〉 120
8.1.3 设置属性 122
8.1.4 设置方法 122
8.1.5 设置事件 123
8.2 案例实战 125
8.2.1 获取播放进度 125
8.2.2 设计视频播放器 126
8.2.3 视频自动截图 129
8.2.4 视频同步字幕 133
8.3 在线练习 137
第9章 使用HTML5表单 138
9.1 HTML5表单特性 139
9.2 新的Input类型 140
9.2.1 email-Email地址框 140
9.2.2 url-URL地址框 141
9.2.3 number数字框 142
9.2.4 range范围框 143
9.2.5 date pickers日期选择器 144
9.2.6 search搜索框 149
9.2.7 tel电话号码框 150
9.2.8 color拾色器 151
9.3 新的input属性 151
9.3.1 autocomplete自动完成 152
9.3.2 autofocus自动获取焦点 153
9.3.3 form归属表单 154
9.3.4 表单重写 154
9.3.5 height(高)和width(宽) 155
9.3.6 list列表选项 155
9.3.7 min(最小值)、max(最大值)和step(步长) 155
9.3.8 multiple多选 156
9.3.9 pattern匹配模式 156
9.3.10 placeholder替换文本 157
9.3.11 required必填 158
9.4 新的表单元素 158
9.4.1 datalist数据列表 158
9.4.2 keygen密钥对生成器 159
9.4.3 output输出结果 159
9.5 新的form属性 160
9.5.1 autocomplete自动完成 160
9.5.2 novalidate禁止验证 161
9.6 案例实战 162
9.6.1 设计HTML5注册表单 162
9.6.2 设计HTML5表单验证 164
9.7 在线练习 165
第10章 使用HTML5离线和缓存 166
10.1 Web Storage 167
10.1.1 认识Web Storage 167
10.1.2 使用Web Storage 167
10.1.3 案例:设计登录页 169
10.1.4 案例:流量统计 170
10.2 ApplicationCache API基础 171
10.2.1 认识ApplicationCache API 172
10.2.2 配置服务器 173
10.2.3 认识manifest 174
10.2.4 使用ApplicationCache 176
10.2.5 事件监听 180
10.3 案例实战 181
10.3.1 设计首页缓存 181
10.3.2 设计离线编辑 184
10.3.3 设计移动便签 188
10.3.4 设计离线留言 190
10.4 在线练习 193
第11章 使用HTML5推送消息 194
11.1 WebSocket基础 195
11.1.1 认识WebSocket 195
11.1.2 使用WebSocket API 195
11.1.3 在PHP中建立socket 198
11.2 案例实战 200
11.2.1 设计呼叫和应答 200
11.2.2 发送消息 205
11.2.3 使用Workerman框架通信 206
11.2.4 群发信息 207
11.3 在线练习 209
第12章 使用HTML5设计单页无刷新应用 210
12.1 History API基础 211
12.1.1 了解History API 211
12.1.2 使用History API 212
12.2 案例实战 214
12.2.1 设计导航页面 214
12.2.2 设计无刷新网站 216
12.2.3 设计可后退画板 220
12.3 在线练习 222
第13章 安装jQuery Mobile 223
13.1 认识jQuery Mobile 224
13.1.1 为什么要学习jQuery Mobile 224
13.1.2 jQuery Mobile特性 224
13.1.3 jQuery Mobile兼容性 226
13.2 jQuery Mobile与HTML5 226
13.3 安装jQuery Mobile 226
13.3.1 下载jQuery Mobile 226
13.3.2 配置jQuery Mobile 228
13.4 案例:设计第一个移动页面 228
第14章 视图 230
14.1 设计页面 231
14.1.1 定义单页视图 231
14.1.2 定义多页视图 232
14.2 设计对话框 234
14.2.1 定义对话框 234
14.2.2 关闭对话框 235
14.3 设计弹出页 236
14.4 应用弹出页 237
14.4.1 弹出菜单 237
14.4.2 弹出表单 239
14.4.3 弹出对话框 240
14.4.4 弹出图片 241
14.4.5 弹出视频 243
14.5 设置弹出页 246
14.5.1 显示位置 246
14.5.2 切换动画 248
14.5.3 主题样式 248
14.5.4 关闭按钮 249
14.6 案例实战 251
14.6.1 设计电子阅读器 251
14.6.2 设计论坛界面 254
14.6.3 设计记事本 255
14.6.4 设计弹出框 257
14.6.5 设计视图样式 258
14.6.6 设计视图切换方式 260
14.6.7 设计相册视图 262
第15章 移动布局 264
15.1 网格化 265
15.2 折叠块 268
15.2.1 定义折叠块 268
15.2.2 定义嵌套折叠块 269
15.2.3 设置属性 270
15.2.4 设置选项 271
15.2.5 设置事件 275
15.3 折叠组 276
15.4 移动表格 277
15.4.1 定义回流表格 277
15.4.2 定义字段切换表格 278
15.5 滑动面板 279
15.6 案例实战 281
15.6.1 设计课程表 281
15.6.2 设计九宫格 283
15.6.3 设计通讯录 284
15.6.4 设计好友列表 286
第16章 列表视图 289
16.1 定义列表视图 290
16.2 定义嵌套列表 290
16.3 定义数字列表 291
16.4 定义分类列表 292
16.5 扩展功能 294
16.5.1 添加拆分按钮 294
16.5.2 添加缩微图和图标 295
16.5.3 添加气泡提示 295
16.5.4 添加过滤文本框 296
16.6 优化列表 299
16.6.1 插页列表 299
16.6.2 折叠列表 300
16.6.3 自动分类列表 302
16.7 案例实战 304
16.7.1 设计登录表单 304
16.7.2 设计产品列表页 305
16.7.3 设计新闻列表页 307
16.7.4 设计播放列表 309
16.7.5 设计通讯录 311
第17章 栏目构件 313
17.1 标题栏 314
17.1.1 定义标题栏 314
17.1.2 定义按钮位置 314
17.2 页脚栏 316
17.2.1 定义页脚栏 316
17.2.2 包含表单 317
17.3 导航栏 318
17.3.1 定义导航栏 318
17.3.2 定义导航图标 320
17.3.3 定义图标位置 321
17.3.4 自定义导航图标 322
17.4 设置栏目构件 324
17.4.1 设置属性 324
17.4.2 定义显示模式 325
17.4.3 设置选项 326
17.4.4 设置方法和事件 326
17.5 案例实战 328
17.5.1 设计播放器 328
17.5.2 设计按钮组 329
第18章 按钮组件 332
18.1 定义按钮 333
18.2 定义内联按钮 333
18.3 定义按钮图标 334
18.3.1 图标样式 334
18.3.2 图标位置 335
18.4 定义迷你按钮 336
18.5 定义按钮组 337
18.6 设置按钮 338
18.6.1 定义属性 338
18.6.2 定义选项 338
18.6.3 定义方法 339
18.7 自定义按钮 340
18.7.1 自定义按钮图标 340
18.7.2 文本换行显示 341
18.8 案例实战 341
第19章 表单组件 343
19.1 使用表单 344
19.2 使用文本框 345
19.3 使用单选按钮 346
19.4 使用复选框 348
19.5 使用滑块 350
19.6 使用开关 353
19.7 使用菜单 354
19.7.1 定义下拉菜单 354
19.7.2 定义列表框 357
19.7.3 设置选项分组 359
19.7.4 设置禁用选项 360
19.8 设置表单属性 360
19.8.1 禁用表单 361
19.8.2 隐藏标签 361
19.8.3 定义迷你表单 362
19.9 案例实战 363
19.9.1 设计验证表单 363
19.9.2 设计上传表单 364
19.9.3 设计登录表单 365
19.9.4 设计调查表单 367
19.9.5 设计设置表单 368
19.9.6 设计弹出表单 369
第20章 主题样式 371
20.1 jQuery Mobile主题 372
20.2 使用主题 372
20.3 自定义主题 375
20.4 使用ThemeRoller 377
20.4.1 认识ThemeRoller 377
20.4.2 设置ThemeRoller 378
20.4.3 应用自定义色版 379
20.5 案例实战 381
20.5.1 定义多视图主题 381
20.5.2 设计计算器 382
20.5.3 设计键盘 384
第21章 脚本开发 387
21.1 自定义事件 388
21.1.1 触摸事件 388
21.1.2 翻转事件 390
21.1.3 滚屏事件 392
21.1.4 页面事件 393
21.2 调用方法 395
21.2.1 转换路径 395
21.2.2 比较域名 396
21.2.3 纵向滚动 397
21.3 HTML5应用 399
21.3.1 离线访问 399
21.3.2 使用Web Storage传递参数 400
21.3.3 HTML 5画板 401
21.4 配置jQuery Mobile 402
21.5 案例实战 404
21.5.1 侦测用户动作 404
21.5.2 划动面板 405
21.5.3 页面初始化 406
21.5.4 以GET方式传递参数 408
21.5.5 自定义加载消息 409
21.5.6 管理加载消息 411
第22章 发布移动APP 413
22.1 Web应用发布基础 414
22.2 下载、安装Cordova 414
22.2.1 安装JAVA JDK 415
22.2.2 安装Android SDK 416
22.2.3 安装ApacheAnt 417
22.2.4 设置用户变量 417
22.2.5 测试工具 419
22.2.6 通过npm安装Cordova 420
22.2.7 设置Android模拟器 421
22.3 将网页转换成Android APP 422
第23章 实战开发:移动版记事本项目 424
23.1 项目分析 425
23.2 框架设计 425
23.3 制作主页面 426
23.4 制作列表页 430
23.5 制作详细页 433
23.6 制作修改页 435
23.7 制作添加页 439
23.8 小结 443
第24章 实战开发:移动博客项目 444
24.1 项目分析 445
24.2 主页设计 445
24.3 列表页设计 447
24.4 内容页设计 449
24.5 后台开发 451
24.5.1 设计数据库 451
24.5.2 连接数据库 453
24.5.3 首页功能实现 455
24.5.4 列表页功能实现 456
24.5.5 内容页功能实现 459
24.6 小结 463