《HTML5移动应用开发入门经典》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:(美)凯瑞恩著;林星译
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2013
  • ISBN:9787115308771
  • 页数:344 页
图书介绍:本书讲解了如何为智能移动设备开发移动app的方法,其中包括创建新的app和升级旧有app的方法,如何提供前沿的媒体内容等。本书还讲解了从地理定位到语义Web在内的高级特性。通过本书学习,你可以掌握这些前沿的移动开发技术,从而开发出健壮的移动app。

第1章 使用HTML5改进移动Web应用的开发 1

1.1 了解HTML5的由来 1

1.1.1 XML及XHTML 2

1.1.2 HTML5的诞生 2

1.2 了解HTML5的不同之处 3

1.3 定义Web应用 3

1.4 使用开放Web标准 4

1.5 在iOS和Android设备中使用HTML5 5

1.6 编写移动网站 6

1.6.1 移动设备的屏幕尺寸和分辨率 6

1.6.2 移动用户需要的内容 6

1.6.3 使用的HTML、CSS及JavaScript是否有效且简洁 7

1.6.4 网站是否需要为移动用户使用独立域名 8

1.6.5 网站需要通过怎样的测试 8

1.7 总结 9

1.8 问与答 9

1.9 测验 10

1.9.1 问题 10

1.9.2 练习 10

第2章 移动开发中新的HTML5标签和属性 11

2.1 HTML5中的新标签 11

2.1.1 新布局标签 11

2.1.2 其他语义元素 13

2.1.3 新的多媒体标签 14

2.1.4 新的表单功能 16

2.1.5 更好的国际化支持 17

2.2 HTML5的新属性 17

2.3 HTML 4标签和属性的变化 19

2.4 HTML5中的HTML语法变化 20

2.5 HTML5标签及属性对移动设备的支持 20

2.6 HTML5给移动Web开发带来的好处 21

2.6.1 HTML5包含了性能优良的API 21

2.6.2 HTML5 21

2.6.3 用户更青睐Web应用程序 21

2.7 总结 22

2.8 问与答 22

2.9 测验 23

2.9.1 问题 23

2.9.2 练习 23

第3章 用CSS3设计移动页面样式 25

3.1 CSS简介 25

3.1.1 创建CSS样式表 25

3.1.2 使用CSS更改字体 27

3.1.3 使用CSS设计布局 28

3.2 CSS3的新增功能 31

3.2.1 圆角 32

3.2.2 盒阴影及文字阴影 34

3.2.3 透明色 34

3.3 在移动设备上使用CSS3 34

3.4 总结 35

3.5 问与答 35

3.6 测验 35

3.6.1 问题 36

3.6.2 练习 36

第4章 移动设备检测及对HTML5的支持 37

4.1 选择HTML5元素 37

4.2 Android及iOS对HTML5的支持 38

4.3 检测HTML5功能 39

4.3.1 利用全局元素检测属性 40

4.3.2 利用创建的元素检测属性 40

4.3.3 检测方法能否返回正确的值 41

4.3.4 检测元素是否保留值 42

4.3.5 处理IE 8、IE 7和IE 6 43

4.4 优雅降级 44

4.5 使用CSS3媒体查询检测移动浏览器 45

4.5.1 检测宽度与高度 46

4.5.2 检测屏幕方向 47

4.5.3 检测屏幕纵横比 47

4.5.4 检测颜色 47

4.5.5 检测分辨率 47

4.5.6 检测电视及网格设备 47

4.6 测试应用程序 48

4.7 总结 48

4.8 问与答 48

4.9 测验 49

4.9.1 问题 49

4.9.2 练习 49

第5章 JavaScript和HTML5 Web应用程序 51

5.1 JavaScript是什么 51

5.1.1 创建rollover 53

5.1.2 表单数据验证 54

5.1.3 打开新窗口 54

5.1.4 Cookies的设置及读取 55

5.2 什么是jQuery 55

5.2.1 使用jQuery制作rollover 57

5.2.2 使用jQuery进行表单数据验证 58

5.2.3 在Web应用程序中使用jQuery 60

5.3 使用jQuery Mobile 61

5.4 总结 62

5.5 问与答 63

5.6 测验 63

5.6.1 问题 63

5.6.2 练习 64

第6章 创建移动Web应用 65

6.1 建设一个在所有设备上都能运行的网站 65

6.2 确定应用程序类型 66

6.3 用HTML创建应用程序 67

6.4 使用CSS改善HTML外观 69

6.4.1 更改字体 69

6.4.2 加入颜色及背景图像 71

6.4.3 设置布局样式 72

6.5 加入移动meta标签以更有效地创建HTML5页面 73

6.6 针对移动用户来优化网站 75

6.7 总结 77

6.8 问与答 77

6.9 测验 78

6.9.1 问题 78

6.9.2 练习 78

第7章 将站点升级至HTML5 79

7.1 确定何时从HTML4升级及升级的具体方式 79

7.1.1 现有标准的通行浏览器支持 80

7.1.2 逐渐升级至HTML5 81

7.1.3 来访浏览器类型评估 82

7.1.4 移动互联网浏览趋势 83

7.2 当前启用的HTML5特性 83

7.3 支持HTML5的浏览器 84

7.4 将HTML5特性作为额外内容添加至网站 85

7.5 将网站变为杀手级移动应用的HTML5特性 86

7.6 总结 86

7.7 问与答 87

7.8 测验 87

7.8.1 问题 88

7.8.2 练习 88

第8章 将Web应用迁移至移动设备 89

8.1 选择Web编辑器 89

8.2 应用程序测试 90

8.3 内容评估 92

8.4 为移动设备调整可视化的设计 93

8.4.1 使用设计元素创建优秀的移动应用程序 93

8.4.2 典型设计 96

8.5 HTML5及CSS3检测 97

8.5.1 多设备支持 98

8.5.2 在其他设备上进行成品应用程序评估 99

8.5.3 桌面模拟器 99

8.5.4 在线模拟器 100

8.6 旧式浏览器中运行应用程序 100

8.7 总结 102

8.8 问与答 103

8.9 测验 103

8.9.1 问题 103

8.9.2 练习 104

第9章 使用HTML5分节元素和语义元素添加语含义 105

9.1 什么是分节元素 105

9.2 使用新的分节元素 106

9.2.1 使用分节元素生成大纲 106

9.2.2 〈article〉元素 107

9.2.3 〈aside〉元素 107

9.2.4 〈nav〉元素 109

9.2.5 〈section〉元素 110

9.2.6 分节根元素 111

9.2.7 Heading、Header以及Footer元素 112

9.3 HTML语义标记 115

9.3.1 HTML4语义元素 115

9.3.2 更新HTML4元素的语义 116

9.3.3 HTML5的新语义元素 116

9.4 总结 118

9.5 问与答 118

9.6 测验 119

9.6.1 问题 119

9.6.2 练习 119

第10章 使用HTML5 canvas元素绘图 121

10.1 使用canvas元素 121

10.2 在〈canvas〉元素中绘制形状 122

10.2.1 绘制矩形 124

10.2.2 绘制多边形和线条 127

10.2.3 绘制圆形 130

10.3 在canvas上书写文字 132

10.4 显示图像 133

10.4.1 缩放和裁切图像 134

10.4.2 添加图案 135

10.5 canvas与SVG或Flash的区别 136

10.6 总结 137

10.7 问与答 137

10.8 测验 138

10.8.1 问题 138

10.8.2 练习 138

第11章 HTML5字体与排版 139

11.1 定义排版元素 139

11.1.1 字体 140

11.1.2 间距 142

11.1.3 断字符 144

11.1.4 未对齐 146

11.1.5 页首孤行和页尾孤行 146

11.2 使用适当的排版字符实体 147

11.2.1 引号 147

11.2.2 商业标记 147

11.2.3 高级符号 147

11.3 了解开放字体格式 148

11.3.1 通过@font-face使用WOFF 149

11.3.2 为WOFF提供备选方案 150

11.4 总结 151

11.5 问与答 151

11.6 测验 152

11.6.1 问题 152

11.6.2 练习 152

第12章 HTML5的音频和视频 153

12.1 HTML5视频、音频与Flash的比较 153

12.2 选择兼容性最好的视频格式 154

12.2.1 MP4或H.264 155

12.2.2 ogg/Theora 155

12.2.3 WebM 155

12.3 选择拥有最广泛支持的音频编解码器 156

12.3.1 MP3 156

12.3.2 Vorbis 156

12.3.3 WAV 156

12.4 HTML5的新媒体元素 156

12.5 用于扩展媒体的属性 159

12.5.1 音频及视频属性 159

12.5.2 视频 160

12.5.3 源属性 160

12.5.4 track属性 161

12.6 为IE创建回退选项 161

12.7 使用API方法创建自定义播放控制器 163

12.8 总结 164

12.9 问与答 164

12.10 测验 165

12.10.1 问题 165

12.10.2 练习 166

第13章 HTML5表单 167

13.1 可用性更强的HTML5表单 167

13.1.1 占位符文本 168

13.1.2 自动聚焦 169

13.1.3 自动完成及数据列表 170

13.2 HTML5输入类型 171

13.2.1 数字类型 172

13.2.2 日期和时间类型 173

13.2.3 Email、URL、颜色和搜索框类型 175

13.3 其他新表单元素 176

13.3.1 密钥生成表单字段 177

13.3.2 表单输出元素 177

13.3.3 命令菜单列表 177

13.4 表单验证 178

13.5 总结 181

13.6 问与答 182

13.7 测验 182

13.7.1 问题 182

13.7.2 练习 183

第14章 使用HTML5编辑内容和用户互动 185

14.1 新的contenteditable属性 185

14.2 execCommand方法 187

14.3 在Web页面中添加拼写检查 189

14.4 隐藏元素 190

14.5 HTML5附加的UI组件 190

14.6 UI以及编辑特性对浏览器的支持 192

14.7 总结 194

14.8 问与答 194

14.9 测验 194

14.9.1 问题 194

14.9.2 练习 195

第15章 微格式与微数据 197

15.1 使用微格式 197

15.1.1 微格式的好处 199

15.1.2 使用微格式的原则 199

15.1.3 正在使用的微格式 200

15.2 使用微数据 202

15.3 使用RDFa 204

15.4 选择格式 204

15.5 移动设备与微格式 205

15.5.1 使用微格式或是微数据的理由 205

15.5.2 两种非正式的微格式 205

15.6 总结 206

15.7 问与答 206

15.8 测验 207

15.8.1 问题 207

15.8.2 练习 207

第16章 使用HTML5的拖曳功能 209

16.1 拖曳应用 209

16.2 拖曳事件 210

16.3 拖曳属性 212

16.4 有用的CSS扩展 213

16.5 创建拖曳接口 213

16.5.1 定义可拖曳对象 214

16.5.2 为可拖曳对象设置拖曳事件 214

16.5.3 定义放置区 214

16.5.4 设置拖曳区事件 215

16.5.5 在对象间传递信息 215

16.5.6 定义操作特效 215

16.6 在iOS上使用拖曳 219

16.6.1 让iOS上的元素变得可拖曳 219

16.6.2 将iOS上的元素变为放置区 220

16.7 总结 221

16.8 问与答 221

16.9 测验 222

16.9.1 问题 222

16.9.2 练习 222

第17章 HTML5链接 223

17.1 HTML5的链接的改进 223

17.1.1 超链接及外联资源 223

17.1.2 〈a〉的属性变化 224

17.1.3 链接区块级元素 225

17.1.4 占位符链接 226

17.1.5 HTML5的热点图 226

17.1.6 HTML5中新的全局属性 226

17.2 链接类型和关系 227

17.3 使用新的链接类型 229

17.3.1 alternate链接类型 229

17.3.2 author链接类型 229

17.3.3 bookmark和external链接类型 229

17.3.4 help、license、tag和search链接类型 230

17.3.5 icon链接类型 230

17.3.6 nofollow和noreferrer类型 230

17.3.7 pingback类型 231

17.3.8 prefetch类型 231

17.3.9 previous和next链接类型 231

17.3.10 sidebar链接类型 232

17.3.11 stylesheet类型 232

17.4 总结 232

17.5 问与答 233

17.6 测验 233

17.6.1 问题 234

17.6.2 练习 234

第18章 Web应用程序API和数据集 235

18.1 创建Web应用程序 235

18.1.1 Web应用程序API 235

18.1.2 脚本处理 236

18.1.3 iOS中的单击事件 238

18.1.4 计时器 238

18.1.5 用户提示 240

18.1.6 系统信息 241

18.2 数据集和data-*属性 242

18.3 总结 244

18.4 问与答 244

18.5 测验 244

18.5.1 问题 245

18.5.2 练习 245

第19章 WebSocket、Web Workers和文件 247

19.1 WebSocket双向通信 247

19.1.1 WebSocket的安全隐患 247

19.1.2 WebSocket的优点 248

19.1.3 建立WebSocket 249

19.2 使用Web Workers在后台运行脚本 249

19.3 使用文件API操作客户端文件 254

19.3.1 建立输入字段 255

19.3.2 获取文件信息 255

19.3.3 读取文件信息 256

19.4 总结 259

19.5 问与答 259

19.6 测验 260

19.6.1 问题 260

19.6.2 练习 260

第20章 离线Web应用程序 261

20.1 创建离线应用程序以及让普通应用程序离线工作 261

20.2 缓存清单 262

20.2.1 使用缓存清单文件 263

20.2.2 编写缓存清单 263

20.3 将DOM事件和属性用于离线应用程序 265

20.4 调试应用程序缓存 268

20.5 总结 269

20.6 问与答 269

20.7 测验 270

20.7.1 问题 270

20.7.2 练习 270

第21章 HTML5的Web存储 271

21.1 什么是Web存储 272

21.1.1 Web存储与Cookie的不同之处 272

21.1.2 会话存储和本地存储 273

21.1.3 使用Web存储 274

21.2 Web SQL与Indexed DB 276

21.2.1 Web SQL数据库 276

21.2.2 Indexed Database API 277

21.3 总结 283

21.4 问与答 283

21.5 测验 284

21.5.1 问题 284

21.5.2 练习 284

第22章 利用History API控制浏览器历史记录 285

22.1 控制浏览器历史的原因 285

22.2 History API的方法 286

22.3 使用History API 287

22.3.1 使用History API保存当前位置 287

22.3.2 使用History API改变URL 289

22.4 使用History API的风险和麻烦 293

22.4.1 History API只能在同一个域名下工作 293

22.4.2 利用History API钓鱼 293

22.4.3 烦人的动画URL 294

22.5 总结 294

22.6 问与答 294

22.7 测验 295

22.7.1 问题 295

22.7.2 练习 295

第23章 使用Geolocation添加地理位置检测 297

23.1 Geolocation是什么 297

23.1.1 使用地理定位 298

23.1.2 使用Geolocation API 299

23.1.3 使用其他定位数据选项 300

23.1.4 旧式浏览器的回退选项 302

23.2 隐私与地理位置 303

23.3 创建一个移动地理定位的应用 304

23.4 总结 308

23.5 问与答 308

23.6 测验 309

23.6.1 问题 309

23.6.2 练习 309

第24章 将HTML5应用程序转换为原生应用程序 311

24.1 HTML5应用程序与原生应用程序的区别 311

24.1.1 原生应用程序的优点 312

24.1.2 HTML5应用程序的优点 313

24.2 转换到原生应用程序 314

24.2.1 如何着手开始转换 314

24.2.2 使用PhoneGap转换原生app 315

24.3 创建应用程序图标 318

24.4 测试应用程序 319

24.5 在app商店出售应用程序 321

24.6 原生应用程序并非唯一选择 321

24.7 总结 322

24.8 问与答 322

24.9 测验 323

24.9.1 问题 323

24.9.2 练习 323

附录A 测验答案 325

附录B HTML5元素和属性 335

附录C HTML5及移动应用资源 343