Chapter 1 移动Web开发基础 1
1.1 认识网页和网站 1
1.1.1 网页 1
1.1.2 网站 2
1.2 网页的基本构成元素 2
1.3 制作网页的基本流程 4
1.4 制作网站的基本流程 5
1.4.1 网站发展趋势 5
1.4.2 网站制作流程 6
1.4.3 网站设计原则 7
1.5 Web标准开发技术介绍 7
1.5.1 结构化标准语言 7
1.5.2 表现性标准语言 8
1.5.3 行为标准 8
1.6 移动Web开发概览 9
1.6.1 主流移动平台介绍 9
1.6.2 移动Web的特点 11
1.6.3 设计移动网站时需要考虑的问题 12
1.6.4 主流的移动设备屏幕的分辨率 12
1.6.5 使用标准的HTML、CSS和JavaScript技术 13
1.7 移动Web开发技术必备 13
Chapter 2 搭建移动Web开发环境 15
2.1 安装Dreamweaver CS6 15
2.2 安装jQuery Mobile 19
2.2.1 下载jQuery Mobile插件 19
2.2.2 使用URL方式加载插件文件 20
2.3 搭建PhoneGap开发环境 20
2.3.1 准备工作 20
2.3.2 获得PhoneGap开发包 21
2.4 搭建测试环境 25
Chapter 3 移动Web开发的准备工作 27
3.1 创建通用网站的实现流程 27
3.1.1 确定应用程序类型 27
3.1.2 使用CSS改善HTML外观 28
3.1.3 加入移动meta标签 30
3.2 将站点升级至HTML5 31
3.2.1 确定何时升级和升级的具体方式 31
3.2.2 升级到HTML5的步骤 33
3.2.3 将HTML5特性作为额外内容添加至网站 33
3.2.4 使用HTML5为移动Web提供的服务 34
3.3 将Web程序迁移到移动设备 34
3.3.1 选择Web编辑器 34
3.3.2 测试应用程序 35
3.3.3 为移动设备调整可视化的设计 35
3.3.4 HTML5及CSS 3检测 36
3.4 搭建Android开发环境 38
3.4.1 安装Android SDK的系统要求 38
3.4.2 安装JDK 38
3.4.3 获取并安装Eclipse和Android SDK 42
3.4.4 安装ADT 45
3.4.5 设定Android SDK Home 47
3.4.6 验证开发环境 48
3.4.7 创建并管理Android虚拟设备(AVD) 49
3.4.8 启动AVD模拟器 50
3.5 搭建iOS开发环境 51
3.5.1 开发前的准备——加入iOS开发团队 52
3.5.2 安装Xcode 54
3.5.3 Xcode介绍 54
3.5.4 下载并安装Xcode 55
3.5.5 创建一个Xcode项目并启动模拟器 58
Chapter 4 HTML基础 62
4.1 HTML初步 62
4.1.1 HTML概述 62
4.1.2 HTML基本结构 63
4.2 HTML标记详解 64
4.2.1 标题文字标记〈h〉 64
4.2.2 文本文字标记〈font〉 65
4.2.3 字型设置标记 66
4.2.4 段落标记〈p〉 67
4.2.5 换行标记〈br〉 68
4.2.6 超链接标记〈a〉 68
4.2.7 设置背景图片标记〈body background〉 70
4.2.8 插入图片标记〈img〉 70
4.2.9 列表标记 71
4.2.10 表格标记〈table〉、〈tr〉、〈th〉和〈td〉 75
4.3 综合应用——制作一个简单网页 76
Chapter 5 HTML 5在移动设备中 80
5.1 把握未来的风向标 80
5.2 用HTML5设计移动网站前的准备 81
5.2.1 为移动网站准备专用的域名 81
5.2.2 准备测试环境 81
5.3 全新的HTML 5 82
5.4 设置网页头部元素 83
5.4.1 设置文档类型 83
5.4.2 设置所有链接规定默认地址或默认目标 84
5.4.3 链接标签 84
5.4.4 设置有关页面的元信息 86
5.4.5 定义客户端脚本 86
5.4.6 定义HTML文档的样式信息 87
5.4.7 设置页面标题 88
5.5 设置页面正文 89
5.6 注释 90
5.7 和页面结构相关的新元素 91
5.7.1 定义区段的标签 91
5.7.2 定义独立内容的标签 91
5.7.3 定义导航链接标签 92
5.7.4 定义其所处内容之外的内容 93
5.7.5 定义页脚内容的标签 93
5.8 在网页中显示联系信息 94
5.9 自动隐藏或显示网页中的文字 95
5.10 综合应用——自动检测输入的拼音是否正确 96
Chapter 6 CSS基础 98
6.1 体验CSS的功能 98
6.2 基本语法 99
6.3 使用选择符 100
6.3.1 选择符的种类 100
6.3.2 实战演练——使用id选择符设置文字颜色 102
6.4 CSS属性 103
6.5 几个常用值 104
6.5.1 颜色单位 104
6.5.2 长度单位 106
6.5.3 百分比值 107
6.5.4 URL统一资源定位符 107
6.5.5 URL默认值 108
6.6 在网页中使用CSS 108
6.6.1 页面调用CSS方式 108
6.6.2 通用优先级实战 110
6.6.3 类型选择符和类选择符实战 112
6.6.4 id选择符实战 113
6.6.5 最近优先原则实战 114
6.7 CSS的编码规范 115
6.7.1 书写规范 115
6.7.2 命名规范 115
6.8 CSS调试 116
6.8.1 设计软件调试 116
6.8.2 继承性和默认值带来的问题 117
6.9 综合应用——实现精致、符合标准的表单页面 119
Chapter 7 JavaScript脚本语言 121
7.1 JavaScript简介 121
7.1.1 JavaScript格式 121
7.1.2 一个典型的JavaScript文件 121
7.2 数据类型 122
7.2.1 数据类型概述 122
7.2.2 JavaScript常量 123
7.2.3 JavaScript变量 123
7.3 表达式和运算符 124
7.3.1 JavaScript表达式 124
7.3.2 JavaScript运算符 125
7.4 JavaScript循环语句 127
7.4.1 if条件语句 127
7.4.2 for循环语句 130
7.4.3 while循环语句 131
7.4.4 do...while循环语句 133
7.4.5 break控制 134
7.4.6 switch循环语句 134
7.5 JavaScript函数 134
7.5.1 函数的构成 135
7.5.2 JavaScript常用函数 136
7.6 JavaScript对象 137
7.6.1 对象基础知识 137
7.6.2 JavaScript常用对象和方法 139
7.7 JavaScript事件 142
7.7.1 JavaScript常用事件 142
7.7.2 事件处理程序 143
7.8 JavaScript窗口对象 144
7.8.1 窗口对象 144
7.8.2 窗口对象的事件驱动 145
7.8.3 窗口对象中的属性 145
7.8.4 窗口对象的方法 145
7.8.5 JavaScript窗口对象的应用 146
7.9 JavaScript框架对象 148
Chapter 8 使用jQuery Mobile框架 150
8.1 jQuery Mobile简介 150
8.1.1 jQuery的优势 150
8.1.2 jQuery Mobile的特点 151
8.1.3 jQuery Mobile对浏览器的支持 151
8.1.4 jQuery Mobile对移动平台的支持 152
8.2 jQuery Mobile的四大优势 153
8.2.1 跨所有移动平台的统一UI 153
8.2.2 简化的标记驱动的开发 153
8.2.3 渐进式增强 153
8.2.4 响应式设计 154
8.3 jQuery Mobile语法基础 154
8.3.1 使用基本框架 155
8.3.2 多页面模板 158
8.3.3 设置内部页面的页面标题 160
8.3.4 设置外部页面链接 161
8.3.5 实现页面后退链接 161
8.3.6 使用Ajax修饰导航 162
8.3.7 使用函数changePage() 165
8.4 预加载 166
8.5 页面缓存 167
8.6 页面脚本 169
Chapter 9 使用PhoneGap 171
9.1 PhoneGap基础 171
9.1.1 产生背景 171
9.1.2 PhoneGap的发展历程 172
9.1.3 PhoneGap移动Web开发的步骤 172
9.2 PhoneGap API详解 173
9.2.1 应用API 174
9.2.2 通知API 175
9.2.3 设备API 177
9.2.4 网络连接API 178
9.2.5 加速计API 180
9.2.6 地理位置API 183
9.2.7 指南针API 185
9.2.8 照相机API 187
9.2.9 Capture采集 191
9.2.10 Media API 193
9.3 综合应用——使用Media构造一个播放器 194
Chapter 10 开发移动设备网页 197
10.1 编写第一个适用于Android系统的网页 197
10.1.1 控制页面的缩放 200
10.1.2 添加CSS样式 201
10.1.3 添加JavaScript 204
10.2 添加Ajax特效 206
10.3 打造一个iOS+jQuery Mobile+PhoneGap程序 212
10.4 综合演练——打造一个Android+jQuery Mobile+PhoneGap程序 214
10.4.1 建立一个基于Web的Android应用 215
10.4.2 添加Web内容 216
10.4.3 利用PhoneGap封装成移动Web应用 217
10.4.4 修改权限文件 219
Chapter 11 Web Sockets实时数据处理 221
11.1 安装jWebSocket服务器 221
11.2 实现跨文档传输数据 222
11.3 使用WebSocket传送数据 225
11.3.1 使用Web Sockets API的方法 226
11.3.2 实战演练 226
11.4 处理JSON对象 229
11.5 jWebSocket框架 232
11.5.1 jWebSocket框架的构成 232
11.5.2 创建jWebSocket服务器端的侦听器 232
11.6 jWebSocket令牌详解 240
11.6.1 令牌的格式 240
11.6.2 令牌的常用术语 240
11.6.3 系统令牌详解 241
11.7 综合应用——使用jWebSocketTest框架进行通信 247
Chapter 12 Web Workers通信处理 251
12.1 Web Workers API基础 251
12.1.1 使用HTML5 Web Workers API 251
12.1.2 需要使用.js文件 252
12.1.3 与Web Worker进行双向通信 252
12.2 Worker线程处理 254
12.2.1 使用Worker处理线程 255
12.2.2 使用线程传递JSON对象 258
12.2.3 使用线程嵌套交互数据 259
12.2.4 通过JSON发送消息 262
12.3 执行大计算量任务 263
12.3.1 创建Worker 264
12.3.2 使用Web Workers API执行大计算量任务 264
12.4 综合应用——在后台运行耗时较长的运算 270
Chapter 13 页面数据离线处理 274
13.1 离线应用基础 274
13.1.1 manifest文件详解 274
13.1.2 配置IIS服务器 275
13.1.3 开发离线应用程序 276
13.2 检测本地缓存的更新状态 278
13.2.1 updateready事件 278
13.2.2 update方法 279
13.2.3 使用swapCache方法 281
13.2.4 可能触发的其他事件 283
13.3 检测在线状态 285
13.3.1 使用onLine属性 285
13.3.2 使用online事件和offline事件 287
13.3.3 开发一个离线留言系统 289
13.4 综合应用——开发一个离线式日历提醒系统 292
Chapter 14 绘制三维图形图像 296
14.1 WebGL基础 296
14.1.1 发展历程 296
14.1.2 WebGL和HTML 5的关系 297
14.1.3 开发前的准备 297
14.2 使用WebGL 298
14.2.1 绘制三角形和矩形 298
14.2.2 绘制有颜色的三角形和矩形 302
14.2.3 绘制三维动画 308
Chapter 15 使用Geolocation API 316
15.1 Geolocation API介绍 316
15.1.1 对浏览器的支持情况 316
15.1.2 使用Geolocation API 317
15.2 获取当前地理位置 318
15.3 使用getCurrentPosition()方法 321
15.4 在网页中使用地图 323
15.4.1 在网页中调用地图 323
15.4.2 在地图中显示当前的位置 325
15.4.3 在网页中居中显示定位地图 327
15.4.4 利用百度地图实现定位处理 329
15.5 综合应用——在弹出框中显示定位信息 331
Chapter 16 使用jQTouch框架 335
16.1 jQTouch基础 335
16.1.1 jQTouch的特点 335
16.1.2 体验jQTouch程序 336
16.2 开始使用jQTouch 340
16.2.1 引入一段jQTouch代码 340
16.2.2 使用jQuery生成动态数据 342
16.2.3 使用jQTouch创建动态UI 342
16.3 综合应用——使用JQTouch框架开发动画网页 346
Chapter 17 使用Sencha Touch框架 354
17.1 Sencha Touch基础 354
17.1.1 Sencha Touch简介 354
17.1.2 Sencha Touch的特性 355
17.1.3 Sencha Touch的优势 355
17.2 搭建Sencha Touch开发环境 356
17.2.1 获取Sencha Touch 356
17.2.2 搭建Eclipse+Sencha Touch开发环境 358
17.2.3 调试Sencha Touch程序 362
17.3 Sencha Touch界面布局 363
17.3.1 Hbox布局(水平布局) 364
17.3.2 VBox布局(垂直布局) 365
17.3.3 Card布局(卡片布局) 365
17.3.4 Fit布局(填充布局) 367
17.3.5 Docking(停靠) 367
17.4 综合应用——实现一个手机通讯录 368
Chapter 18 使用Node.js 378
18.1 Node.js的特性 378
18.2 搭建Node.js开发环境 378
18.2.1 获取并安装Node.js 379
18.2.2 第一段Node.js程序 381
18.3 Node.js基本配置 382
18.3.1 创建HTTP服务器 382
18.3.2 配置模块系统 383
18.4 Node.js的基本语法 385
18.4.1 Node.js事件 385
18.4.2 Node.js函数 387
18.4.3 Node.js路由 388
18.4.4 Node.js全局对象 390
18.5 综合应用——使用Node.js+Socket实现聊天室系统 393
Chapter 19 记事本系统 401
19.1 系统功能分析 401
19.2 系统模块划分 402
19.3 构建jQuery Mobie平台 402
19.4 页面实现 402
19.4.1 实现系统首页 403
19.4.2 实现记事本类别列表页面 405
19.4.3 实现记事本列表页面 406
19.4.4 实现记事本详情和删除页面 408
19.4.5 实现记事本修改页面 409
19.4.6 实现添加记事本页面 411
19.5 系统样式文件 413
Chapter 20 Android版的电话管理系统 415
20.1 需求分析 415
20.1.1 产生背景 415
20.1.2 功能分析 415
20.2 创建Android工程 417
20.3 实现系统主界面 417
20.4 实现信息查询模块 419
20.5 实现系统管理模块 421
20.6 实现信息添加模块 424
20.7 实现信息修改模块 427
20.8 实现信息删除模块和更新模块 430