《移动Web程序设计 第2版》PDF下载

  • 购买积分:18 如何计算积分?
  • 作  者:(美)马克西米利亚诺·福特曼,王锐,张博
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2018
  • ISBN:9787302507680
  • 页数:614 页
图书介绍:本书提供了关于移动互联网开发的全面基础信息,主要内容涵盖如何将已有技术移植到移动互联网平台的开发中;介绍移动互联网应用开发中的特有技术细节;如何使用JavaScript和Ajax技术有效设计移动设备的应用界面;介绍手机平台上的HTML5、SMS和WAP编程技术;手机widget技术。

第1章 荆棘密布的移动设备世界 1

1.1 移动生态系统 1

1.1.1 什么是移动设备 1

1.1.2 移动设备的分类 3

1.2 品牌、型号与平台 8

1.2.1 Apple iOS 8

1.2.2 Android 10

1.2.3 Windows 12

1.2.4 Nokia 15

1.2.5 BlackBerry 18

1.2.6 Samsung 19

1.2.7 Sony Mobile 20

1.2.8 Motorola Mobililty 21

1.2.9 Amazon 21

1.2.10 LG Mobile 22

1.2.11 HTC 22

1.2.12 HP和Palm 22

1.2.13 Firefox OS 23

1.2.14 Ubuntu 23

1.2.15 来自中国的移动平台 24

1.2.16 其他平台 24

1.2.17 智能电视平台 24

1.3 技术信息 25

第2章 理解移动Web 27

2.1 移动网络的神话 27

2.1.1 不要提什么移动网络,它只是网络而已 27

2.1.2 不需要对桌面网站执行任何特殊操作 28

2.1.3 一个网站可以工作于所有的设备之上(桌面系统、移动设备、电视机等) 28

2.1.4 只要创建了一个320像素宽的HTML文件,你就可以拥有一个移动网络站点 29

2.1.5 移动设备的本地应用程序会让移动网络灭亡 29

2.1.6 人们没有利用移动网络浏览器 29

2.2 何为移动Web 30

2.3 移动网络时代 31

2.3.1 WAP 1 31

2.3.2 WAP 2.0 32

2.4 移动浏览体验 34

2.4.1 导航方式 35

2.4.2 缩放功能 36

2.4.3 回流(Reflow)引擎 37

2.4.4 直接浏览器和云浏览器 38

2.4.5 多页面体验 39

2.4.6 Web引擎 40

2.5 市场细分 41

2.5.1 显示屏 41

2.5.2 输入方法 48

2.5.3 其他功能 50

2.6 市场统计 50

第3章 浏览器和平台 52

3.1 Web平台,但并非仅限于浏览器 52

3.1.1 HTML5 Web应用程序 53

3.1.2 Web视图 55

3.1.3 伪浏览器 56

3.1.4 本地应用程序、包应用程序和混合应用程序 58

3.2 移动浏览器 60

3.2.1 预先安装的浏览器 60

3.2.2 用户自选安装的浏览器 68

3.3 浏览器综述 71

第4章 移动Web开发工具 73

4.1 编写代码 73

4.1.1 Adobe Dreamweaver 73

4.1.2 Adobe Edge工具 74

4.1.3 Microsoft Visual Studio和WebMatrix 74

4.1.4 Eclipse 75

4.1.5 本地Web IDE 75

4.2 测试 75

4.2.1 模拟器和仿真器 76

4.2.2 真实设备测试 92

4.2.3 远程实验室 95

4.3 产品环境 101

4.3.1 Web托管 101

4.3.2 域名 101

4.3.3 错误管理 102

4.3.4 数据统计 102

第5章 架构和设计 103

5.1 移动策略 103

5.1.1 何时退出浏览器 103

5.1.2 环境上下文 105

5.1.3 服务器端适应 106

5.1.4 渐进增强 107

5.1.5 响应式Web设计 109

5.1.6 RESS 113

5.2 导航 114

5.3 设计和用户体验 115

5.3.1 触摸设计模式 118

5.3.2 平板电脑模式 120

5.3.3 官方UI指南 121

5.3.4 需要注意的问题 122

第6章 标记和标准 124

6.1 回顾过去 124

6.2 现有标准 129

6.2.1 移动网络政坛 129

6.2.2 传输标记信息 130

6.3 XHTML Mobile Profile和XHTML Basic 134

6.3.1 可用的标签 135

6.3.2 官方宣布不兼容的特性 136

6.3.3 创建第一个网页兼容模板 136

6.3.4 标记语言的新增特性 138

6.4 移动HTML5 139

6.4.1 编写第一个HTML5模板 140

6.4.2 语法规则 140

6.4.3 新增元素 141

6.5 移动CSS 141

6.5.1 WCSS扩展 142

6.5.2 CSS3 145

6.6 HTML5兼容级别 146

第7章 移动HTML5基础知识 149

7.1 文档头 149

7.1.1 标题 149

7.1.2 网站图标 150

7.1.3 主页图标 153

7.1.4 视口 164

7.1.5 改变导航方法 177

7.1.6 移除自动链接 178

7.1.7 共享元数据 178

7.1.8 隐藏URL地址栏 180

7.1.9 整合本地应用程序 182

7.2 文档体 186

7.3 HTML5移动模板 188

7.4 内容 189

7.4.1 块元素 189

7.4.2 列表 189

7.4.3 表格 190

7.4.4 框架 190

7.4.5 链接 191

7.4.6 可访问性 193

第8章 HTML5表单 195

8.1 表单设计 195

8.2 表单元素 197

8.2.1 选择列表 198

8.2.2 单选按钮和复选框 201

8.2.3 按钮 201

8.2.4 隐藏字段 202

8.2.5 文本输入框 202

8.2.6 范围滑块 212

8.2.7 日期输入 212

8.2.8 文件选择 214

8.2.9 非交互式表单元素 219

8.3 表单控件属性 221

8.3.1 占位符 221

8.3.2 自动焦点 222

8.3.3 自动完成功能 222

8.3.4 只读功能 222

8.3.5 输入验证属性 223

8.3.6 Safari扩展 223

8.3.7 Firefox扩展 223

8.3.8 XHTML Mobile输入模式 223

8.3.9 附加的表单属性 224

8.4 表单验证 224

8.4.1 HTML5验证 224

8.4.2 WAP CSS验证 227

第9章 功能和设备检测 230

9.1 可能出现的问题 230

9.2 可能的解决方法 231

9.3 信息网站 232

9.3.1 caniuse.com 232

9.3.2 MobileHTML5.org 233

9.3.3 WebPlatform org 234

9.4 客户端检测 234

9.4.1 HTML回调 234

9.4.2 CSS回调 235

9.4.3 供应商前缀 236

9.4.4 JavaScript回调 240

9.4.5 Modernizr 241

9.5 兼容框架 246

9.6 平台检测 246

9.7 服务器端检测 248

9.7.1 HTTP 248

9.7.2 检测上下文 255

9.7.3 云浏览器 256

9.7.4 移动检测 258

9.7.5 转码器 259

9.7.6 设备库 260

第10章 图像和多媒体 274

10.1 图像 274

10.1.1 图像格式 274

10.1.2 使用img元素 279

10.1.3 响应式图像 280

10.1.4 本地图形符号 283

10.2 处理多屏密度 285

10.2.1 向量方案 286

10.2.2 提供单一图像 287

10.2.3 提供图像替代内容 288

10.2.4 SVG 292

10.2.5 Canvas 298

10.3 Adobe Flash 305

10.4 视频 308

10.4.1 容器和编/解码器 308

10.4.2 视频传送 309

10.4.3 HTML5视频元素 310

10.4.4 流机制 315

10.4.5 利用对象实现嵌入操作 316

10.4.6 视频兼容性 316

10.5 音频 317

10.5.1 不可见的音频播放器 318

10.5.2 Web Audio API 319

10.5.3 音频的兼容性 319

第11章 移动浏览器上的CSS样式表 321

11.1 在哪里插入CSS 321

11.2 媒体查询 322

11.3 选择符 328

11.4 CSS技术 330

11.4.1 重置CSS文件 330

11.4.2 文本格式 332

11.5 通用模式 340

11.5.1 显示属性 340

11.5.2 圆角 342

11.5.3 边界图像 343

11.5.4 拟类型(Pseudoclass) 346

11.5.5 背景 347

11.5.6 滚动区域 348

11.5.7 内容 349

11.5.8 不透明度(opacity) 349

11.5.9 光标管理 350

11.5.10 选取管理 350

11.5.11 触摸标注(Touch Callout) 353

11.5.12 颜色高亮 354

11.5.13 外观调整 354

11.6 CSS图像拼合(CSS Sprites) 355

11.6.1 示例与兼容性 355

11.6.2 CSS Sprites的替代方案 360

11.7 CSS3模块 361

11.7.1 渐变色 361

11.7.2 反射效果 363

11.7.3 遮罩 364

11.7.4 转换 365

11.7.5 渐变效果 371

11.7.6 动画 374

11.7.7 CSS滤镜效果 377

11.7.8 CSS区域和环绕 378

11.7.9 最新的CSS值和单位 379

第12章 移动JavaScript 380

12.1 移动浏览器编码 381

12.1.1 HTML5脚本扩展 382

12.1.2 代码执行 382

12.1.3 基于云的浏览器 383

12.2 JavaScript调试和性能分析 383

12.3 电池消耗 384

12.4 后台执行 384

12.4.1 状态检测 385

12.4.2 后台标签页通知操作 388

12.4.3 后台执行兼容性 389

12.4.4 推送通知 390

12.5 支持的技术 390

12.5.1 文档对象模型 391

12.5.2 选择符API 391

12.5.3 JSON 391

12.5.4 二进制数据 392

12.5.5 Web Workers 392

12.5.6 HTML5 API 394

12.5.7 本地Web应用API 394

12.6 标准的JavaScript操作行为 394

12.6.1 标准对话框 394

12.6.2 历史记录和URL管理 397

12.6.3 窗口的操作 398

12.6.4 焦点和滚动方式管理 399

12.6.5 定时器 400

12.6.6 改变标题 403

12.6.7 Cookie管理 403

12.6.8 事件处理 403

12.6.9 JavaScript程序库 410

12.7 UI框架 413

12.7.1 Sencha Touch 414

12.7.2 jQuery Mobile 415

12.7.3 Enyo 417

12.7.4 Montage 417

12.7.5 iUI 417

12.7.6 jQTouch 418

12.7.7 JavaScript移动用户界面模式 420

第13章 离线应用程序、存储和网络 427

13.1 离线Web应用程序 427

13.1.1 清单文件 428

13.1.2 访问在线资源 429

13.1.3 更新数据包 430

13.1.4 删除数据包 431

13.1.5 JavaScript API 431

13.1.6 兼容性和限制条件 433

13.2 客户端存储 436

13.2.1 Web存储 436

13.2.2 Web SQL数据库API 439

13.2.3 IndexedDB API 442

13.2.4 文件系统API 444

13.2.5 用户干预 445

13.2.6 存储调试 446

13.3 网络通信 446

13.3.1 Ajax 446

13.3.2 服务器发送事件 449

13.3.3 WebSocket 450

第14章 地理定位与地图 453

14.1 定位技术 453

14.1.1 精确度 453

14.1.2 室内定位 454

14.1.3 客户端技术 454

14.1.4 服务器端技术 456

14.1.5 询问用户 457

14.2 检测用户位置 457

14.2.1 W3C Geolocation API 457

14.2.2 运行商网络定位API 462

14.2.3 IP地理定位 463

14.3 地图/导航集成App 464

14.3.1 基于Android的Google Maps 464

14.3.2 iOS Maps 466

14.3.3 Bing Maps 468

14.4 显示地图 468

14.4.1 Google Maps API v3 469

14.4.2 Google Maps Static API 471

14.4.3 Nokia Here 472

第15章 设备交互 475

15.1 移动URI 475

15.1.1 电话呼叫 476

15.1.2 发送电子邮件 478

15.1.3 发送SMS 479

15.1.4 其他通信技术 480

15.1.5 向电话簿添加联系方式 481

15.1.6 与其他应用程序整合 482

15.2 JavaScript API 485

15.2.1 触摸操作 485

15.2.2 手势操作 493

15.2.3 传感器 499

15.2.4 网络信息 503

15.2.5 文件管理 504

15.2.6 全屏 506

15.2.7 Web通知 507

15.2.8 摄像头 509

15.2.9 电池 511

15.2.10 震动效果 512

15.2.11 其他API 512

第16章 本地和安装完毕的Web应用 514

16.1 Web App的利弊 514

16.2 Web App架构 515

16.2.1 元数据配置文件 516

16.2.2 平台访问 516

16.2.3 数据存储 516

16.2.4 网络访问 517

16.2.5 逻辑 517

16.2.6 用户界面 517

16.2.7 打包 517

16.2.8 发布 518

16.3 标准 518

16.4 官方平台 519

16.4.1 iOS Web App 519

16.4.2 Symbian独立WebApp 528

16.4.3 Windows 8 Store App 531

16.4.4 Mozilla Open Web Apps 534

16.4.5 Chrome App 538

16.4.6 Samsung Web App 538

16.4.7 BlackBerry WebWorks App 538

16.4.8 Nokia S40 Web App 546

16.4.9 Nokia Symbian Web App 551

16.5 Apache Cordova/PhoneGap App 556

16.5.1 生成模板 558

16.5.2 Cordova Web View 559

16.5.3 CordovaJS 559

16.6 发布 562

16.6.1 iOS App Store 562

16.6.2 Android Stores 562

16.6.3 BlackBerry AppWorld 563

16.6.4 Microsoft Windows Store 563

16.6.5 Microsoft Windows Phone Store 563

16.7 全屏幕App模式 563

16.7.1 多重视图 563

16.7.2 布局 564

16.7.3 输入方式 564

16.7.4 单视图微技 564

16.7.5 动态程序引擎 564

16.7.6 重载Web App 565

第17章 内容推送 566

17.1 MIME类型 566

17.1.1 静态定义 566

17.1.2 动态定义 568

17.2 文件传输 568

17.2.1 直接链接 569

17.2.2 延迟链接 569

17.2.3 OMA下载 570

17.3 应用程序和游戏的传送 573

17.3.1 iOS应用程序 573

17.3.2 Android应用程序 575

17.3.3 Windows应用程序 575

17.3.4 Java ME 576

第18章 调试和性能 579

18.1 调试 579

18.1.1 服务器端调试 579

18.1.2 标记调试 583

18.1.3 客户端调试 584

18.2 性能优化 591

18.2.1 网站测评 591

18.2.2 最佳实践 593

第19章 网站发布和Social Web 2.0 598

19.1 移动搜索引擎优化(Mobile SEO) 598

19.1.1 抓取蜘蛛和可发掘性 599

19.1.2 移动网站地图(Mobile Sitemap) 599

19.2 用户如何找到你 600

19.2.1 SMS(短消息)邀请 601

19.2.2 电子邮件邀请 602

19.2.3 Mobile Tiny URL 602

19.2.4 二维码(QR码) 602

19.2.5 NFC标签 603

19.3 挽留用户 604

19.3.1 网络快捷方式 604

19.3.2 RSS 604

19.3.3 Open Search 605

19.3.4 Apple Passbook 605

19.4 移动网站统计 606

19.4.1 移动Google Analytics 607

19.4.2 Yahoo! Web Analytics 607

19.4.3 Mobilytics 607

19.5 使用网站来盈利 608

19.6 移动网络的社交特性 608

19.6.1 验证和共享API 609

19.6.2 共享内容 609

附录A移动内容的MIME类型 611

A.1标记语言和脚本的MIME类型 611

A.2图像MIME类型 611

A.3移动内容的MIME类型 612

A.4音频和视频MIME类型 613

A.5微技和WebApp的MIME类型 613