第0章 移动Web开发学习指南 1
0.1 Web标准开发技术 2
0.1.1 结构化标准语言 2
0.1.2 表现性标准语言 2
0.1.3 行为标准 2
0.2 移动Web开发概览 3
0.2.1 主流移动平台介绍 3
0.2.2 移动Web的特点 4
0.2.3 设计移动网站时需要考虑的问题 5
0.2.4 主流移动设备屏幕的分辨率 5
0.2.5 使用标准的HTML、CSS和JavaScript技术 6
0.3 移动Web开发必备技术 7
0.4 移动Web开发学习路线图 8
第1篇 基础知识 10
第1章 网页和网站制作基础 10
1.1 认识网页和网站 11
1.1.1 何谓网页 11
1.1.2 何谓网站 11
1.2 网页的基本构成元素 12
1.3 制作网页的基本流程 14
1.4 制作网站的基本流程 15
1.4.1 网站发展趋势 15
1.4.2 网站制作流程 15
1.4.3 网站设计原则 17
1.5 高手点拨 17
1.6 实战练习 18
第2章 搭建移动Web开发环境 19
2.1 安装DreamWeaver CS6 20
2.2 安装jQuery Mobile 25
2.2.1 下载jQuery Mobile插件 25
2.2.2 使用URL方式加载插件文件 26
2.3 搭建PhoneGap开发环境 27
2.3.1 准备工作 27
2.3.2 获得PhoneGap开发包 27
2.4 搭建测试环境 32
2.5 高手点拨 34
2.6 实战练习 34
第3章 打造移动Web应用程序 35
3.1 创建通用网站的实现流程 36
3.1.1 确定应用程序类型 36
3.1.2 使用CSS改善HTML外观 36
3.1.3 加入移动meta标签 38
3.2 将站点升级至HTML5 39
3.2.1 确定何时升级和升级的具体方式 40
3.2.2 升级到HTML5的步骤 41
3.2.3 将HTML5特性作为额外内容添加至网站 41
3.2.4 使用HTML5为移动Web提供的服务 42
3.3 将Web程序迁移到移动设备 42
3.3.1 选择Web编辑器 43
3.3.2 测试应用程序 43
3.3.3 移动网站的内容特点 44
3.3.4 为移动设备调整可视化的设计 44
3.3.5 HTML5及CSS3检测 45
3.4 搭建Android开发环境 46
3.4.1 安装Android SDK的系统要求 46
3.4.2 安装JDK 47
3.4.3 获取并安装Eclipse和Android SDK 51
3.4.4 安装ADT 54
3.4.5 设定Android SDK Home 57
3.4.6 验证开发环境 58
3.4.7 创建并管理Android虚拟设备(AVD) 59
3.4.8 启动AVD模拟器 61
3.5 搭建iOS开发环境 62
3.5.1 开发前的准备——加入iOS开发团队 63
3.5.2 安装Xcode 65
3.5.3 Xcode介绍 65
3.5.4 下载并安装Xcode 65
3.5.5 创建一个Xcode项目并启动模拟器 69
3.6 高手点拨 73
3.7 实战练习 74
第2篇 核心技术 76
第4章 HTML基础 76
4.1 HTML初步 77
4.1.1 HTML概述 77
4.1.2 HTML基本结构 77
4.2 HTML标记详解 79
4.2.1 标题文字标记<h> 79
4.2.2 文本文字标记<font> 80
4.2.3 字型设置标记 82
4.2.4 段落标记<p> 83
4.2.5 换行标记<br> 84
4.2.6 超级链接标记<a> 85
4.2.7 设置背景图片标记<body background> 86
4.2.8 插入图片标记<img> 87
4.2.9 列表标记 89
4.2.10 表格标记<table>、<tr>、<th>和<td> 92
4.3 综合应用——制作一个简单网页 94
4.4 高手点拨 97
4.5 实战练习 98
第5章 HTML5 99
5.1 把握未来的风向标 100
5.1.1 漫漫发展历程 100
5.1.2 无与伦比的体验 100
5.2 用HTML5设计移动网站前的准备 101
5.2.1 为移动网站准备专用的域名 101
5.2.2 准备测试环境 101
5.3 第一段HTML5程序 102
5.4 设置网页头部元素 103
5.4.1 设置文档类型 103
5.4.2 设置所有链接规定默认地址或默认目标 104
5.4.3 链接标签 105
5.4.4 设置有关页面的元信息 107
5.4.5 定义客户端脚本 107
5.4.6 定义HTML文档的样式信息 108
5.4.7 设置页面标题 109
5.5 设置页面正文 110
5.6 注释 112
5.7 和页面结构相关的新元素 113
5.7.1 定义区段的标签 113
5.7.2 定义独立内容的标签 114
5.7.3 定义导航链接标签 115
5.7.4 定义其所处内容之外的内容 116
5.7.5 定义页脚内容的标签 116
5.8 在网页中显示联系信息 117
5.9 自动隐藏或显示网页中的文字 118
5.10 综合应用——自动检测输入的拼音是否正确 120
5.11 高手点拨 122
5.12 实战练习 122
第6章 CSS基础 123
6.1 体验CSS的功能 124
6.2 基本语法 125
6.3 使用选择符 126
6.3.1 选择符的种类 126
6.3.2 使用ID选择符设置文字颜色 129
6.4 CSS属性 129
6.5 几个常用值 131
6.5.1 颜色单位 131
6.5.2 长度单位 133
6.5.3 百分比值 134
6.5.4 URL统一资源定位符 134
6.5.5 URL默认值 135
6.6 在网页中使用CSS 135
6.6.1 页面调用CSS的方式 135
6.6.2 通用优先级 138
6.6.3 类型选择符和类选择符 139
6.6.4 ID选择符 140
6.6.5 最近优先原则 141
6.7 CSS的编码规范 143
6.7.1 书写规范 143
6.7.2 命名规范 144
6.8 CSS调试 145
6.8.1 设计软件调试 145
6.8.2 继承性和默认值带来的问题 145
6.9 综合应用——实现精致、符合标准的表单页面 147
6.10 高手点拨 149
6.11 实战练习 150
第7章 JavaScript脚本语言 151
7.1 JavaScript简介 152
7.1.1 JavaScript格式 152
7.1.2 一个典型的JavaScript文件 152
7.2 数据类型 154
7.2.1 数据类型概述 154
7.2.2 JavaScript常量 154
7.2.3 JavaScript变量 155
7.3 表达式和运算符 156
7.3.1 JavaScript表达式 156
7.3.2 JavaScript运算符 156
7.4 JavaScript循环语句 160
7.4.1 if条件语句 160
7.4.2 for循环语句 163
7.4.3 while循环语句 165
7.4.4 do…while循环语句 166
7.4.5 break控制 168
7.4.6 switch循环语句 168
7.5 JavaScript函数 169
7.5.1 函数的构成 169
7.5.2 JavaScript常用函数 170
7.6 JavaScript对象 172
7.6.1 对象的基础知识 172
7.6.2 JavaScript常用对象和方法 175
7.7 JavaScript事件 177
7.7.1 JavaScript常用事件 178
7.7.2 事件处理程序 179
7.8 JavaScript窗口对象 180
7.8.1 窗口对象 180
7.8.2 窗口对象的事件驱动 181
7.8.3 窗口对象的属性 181
7.8.4 窗口对象的方法 181
7.8.5 JavaScript窗口对象的应用 182
7.9 JavaScript框架对象 184
7.10 综合应用——实现一个动态菜单样式 186
7.11 高手点拨 189
7.12 实战练习 190
第8章 使用jQuery Mobile框架 191
8.1 jQuery Mobile简介 192
8.1.1 jQuery的优势 192
8.1.2 jQuery Mobile的特点 192
8.1.3 jQuery Mobile对浏览器的支持 193
8.1.4 jQuery Mobile对移动平台的支持 193
8.2 jQuery Mobile的四大优势 194
8.2.1 跨所有移动平台的统一UI 194
8.2.2 简化的标记驱动的开发 195
8.2.3 渐进式增强 195
8.2.4 响应式设计 195
8.3 jQuery Mobile语法基础 196
8.3.1 使用基本框架 196
8.3.2 多页面模板 200
8.3.3 设置内部页面的页面标题 202
8.3.4 设置外部页面链接 204
8.3.5 实现页面后退链接 204
8.3.6 使用Ajax修饰导航 205
8.3.7 使用函数changePage() 209
8.4 预加载 210
8.5 页面缓存 212
8.6 页面脚本 214
8.7 综合应用——实现页面跳转 216
8.8 高手点拨 218
8.9 实战练习 218
第9章 使用PhoneGap 219
9.1 PhoneGap基础 220
9.1.1 产生背景 220
9.1.2 PhoneGap的发展历程 220
9.1.3 使用PhoneGap进行移动Web开发的步骤 221
9.2 PhoneGap API详解 222
9.2.1 应用API 223
9.2.2 通知API 224
9.2.3 设备API 226
9.2.4 网络连接API 227
9.2.5 加速计API 230
9.2.6 地理位置API 232
9.2.7 指南针API 235
9.2.8 照相机API 238
9.2.9 采集API 242
9.2.10 录音API 244
9.3 综合应用——构造一个播放器 245
9.4 高手点拨 248
9.5 实战练习 248
第10章 开发移动设备网页 249
10.1 编写第一个适用于Android系统的网页 250
10.1.1 控制页面的缩放 254
10.1.2 添加CSS样式 254
10.1.3 添加JavaScript 257
10.2 添加Ajax特效 262
10.3 综合应用——打造一个iOS+jQuery Mobile+PhoneGap程序 269
10.4 综合应用——打造一个Android+jQuery Mobile+PhoneGap程序 271
10.4.1 建立一个基于Web的Android应用 271
10.4.2 添加Web内容 273
10.4.3 利用PhoneGap封装成移动Web应用 274
10.4.4 修改权限文件 277
10.5 高手点拨 278
10.6 实战练习 278
第3篇 知识进阶 280
第11章 Web Sockets实时数据处理 280
11.1 安装jWebSocket服务器 281
11.2 实现跨文档传输数据 281
11.3 使用WebSocket传送数据 286
11.3.1 使用Web Sockets API的方法 286
11.3.2 在网页中传送数据 287
11.4 处理JSON对象 289
11.5 jWebSocket框架 293
11.5.1 jWebSocket框架的构成 293
11.5.2 创建jWebSocket服务器端的侦听器 293
11.6 jWebSocket令牌详解 300
11.6.1 令牌的格式 301
11.6.2 令牌的常用术语 301
11.6.3 系统令牌详解 302
11.7 综合应用——使用jWebSocketTest框架进行通信 308
11.8 高手点拨 311
11.9 实战练习 312
第12章 Web Workers通信处理 313
12.1 Web Workers API基础 314
12.1.1 使用HTML5 Web Workers API 314
12.1.2 .js文件 314
12.1.3 与Web Worker进行双向通信 315
12.2 Worker线程处理 317
12.2.1 使用Worker处理线程 318
12.2.2 使用线程传递JSON对象 321
12.2.3 使用线程嵌套交互数据 323
12.2.4 通过JSON发送消息 326
12.3 执行大计算量任务 327
12.3.1 创建Worker 328
12.3.2 使用Web Workers API执行大计算量任务 328
12.4 综合应用——在后台运行耗时较长的运算 335
12.5 高手点拨 338
12.6 实战练习 338
第13章 页面数据离线处理 339
13.1 离线应用基础 340
13.1.1 manifest文件详解 340
13.1.2 配置IIS服务器 341
13.1.3 开发离线应用程序 341
13.2 检测本地缓存的更新状态 343
13.2.1 updateready事件 344
13.2.2 update方法 345
13.2.3 swapCache方法 348
13.2.4 可能触发的其他事件 350
13.3 检测在线状态 352
13.3.1 使用onLine属性 353
13.3.2 使用online事件和offline事件 355
13.3.3 开发一个离线留言系统 357
13.4 综合应用——开发一个离线式日历提醒系统 360
13.5 高手点拨 364
13.6 实战练习 364
第14章 绘制三维图形图像 365
14.1 WebGL基础 366
14.1.1 发展历程 366
14.1.2 WebGL和HTML5的关系 366
14.1.3 开发前的准备 367
14.2 使用WebGL 368
14.2.1 绘制三角形和矩形 368
14.2.2 绘制有颜色的三角形和矩形 373
14.2.3 绘制三维动画 380
14.3 综合应用——绘制一个三维物体 388
14.4 高手点拨 398
14.5 实战练习 398
第15章 使用Geolocation API 399
15.1 Geolocation API介绍 400
15.1.1 对浏览器的支持情况 400
15.1.2 使用Geolocation API 400
15.2 获取当前地理位置 401
15.3 使用getCurrentPosition()方法 405
15.4 在网页中使用地图 407
15.4.1 在网页中调用地图 407
15.4.2 在地图中显示当前位置 410
15.4.3 在网页中居中显示定位地图 412
15.4.4 利用百度地图实现定位 414
15.5 综合应用——在弹出的对话框中显示定位信息 416
15.6 高手点拨 419
15.7 实战练习 420
第4篇 典型应用 422
第16章 使用jQTouch框架 422
16.1 jQTouch基础 423
16.1.1 jQTouch的特点 423
16.1.2 体验jQTouch程序 423
16.2 开始使用jQTouch 428
16.2.1 引入一段jQTouch代码 428
16.2.2 使用jQuery生成动态数据 430
16.2.3 使用jQTouch创建动态UI 430
16.3 综合应用——使用jQTouch框架开发动画网页 435
16.4 高手点拨 443
16.5 实战练习 444
第17章 使用Sencha Touch框架 445
17.1 Sencha Touch基础 446
17.1.1 Sencha Touch简介 446
17.1.2 Sencha Touch的特性 447
17.1.3 Sencha Touch的优势 447
17.2 搭建Sencha Touch开发环境 448
17.2.1 获取Sencha Touch 448
17.2.2 搭建Eclipse+Sencha Touch开发环境 450
17.2.3 调试Sencha Touch程序 455
17.3 Sencha Touch界面布局 456
17.3.1 Hbox布局(水平布局) 456
17.3.2 VBox布局(垂直布局) 457
17.3.3 Card布局(卡片布局) 458
17.3.4 Fit布局(填充布局) 459
17.3.5 Docking(停靠) 460
17.4 综合应用——实现一个手机通讯录 462
17.5 高手点拨 472
17.6 实战练习 472
第5篇 综合实战 474
第18章 记事本系统 474
18.1 系统功能分析 475
18.2 系统模块划分 475
18.3 构建jQuery Mobile平台 476
18.4 页面实现 476
18.4.1 实现系统首页 476
18.4.2 实现记事本类别列表页面 479
18.4.3 实现记事本列表页面 481
18.4.4 实现记事本详情和删除页面 483
18.4.5 实现记事本修改页面 485
18.4.6 实现添加记事本页面 487
18.5 系统样式文件 489
第19章 Android版电话本管理系统 491
19.1 需求分析 492
19.1.1 产生背景 492
19.1.2 功能分析 492
19.2 创建Android工程 493
19.3 实现系统主界面 494
19.4 实现信息查询模块 496
19.5 实现系统管理模块 498
19.6 实现信息添加模块 502
19.7 实现信息修改模块 505
19.8 实现信息删除模块和更新模块 508