好书推荐 好书速递 排行榜 读书文摘

HTML5程序设计(第2版)

HTML5程序设计(第2版)
作者:[荷] Peter Lubbers / [美] Brian Albers / [美] Frank Salim
译者:柳靖 / 李杰 / 刘淼
出版社:人民邮电出版社
出版年:2012-05
ISBN:9787115278715
行业:设计
浏览数:5

内容简介

内容简介:

今天,HTML5在Web标准之争中已经胜出并被大多数浏览器所支持。体验HTML5带给Web开发的便捷、快速和强大功能,是每一位Web开发和设计人员的当务之急。

本书由旧金山HTML5用户组创建人联合另外2位资深Web开发专家共同打造,为读者清晰解读了HTML5规范的缘由、发展和现状,全面展示了如何使用WebSocket、Geolocation、Web Storage、Canvas、SVG及音频/视频等前所未有的新特性构建最流行、最强大的Web应用,并以大量的示例涵盖全部HTML5 API。

第2版进行了全面的修订,新增了针对HTML5视觉效果的SVG和针对用户体验的拖放这两部分内容,将助读者的Web设计和开发更上一层楼。

......(更多)

作者简介

作者简介:

Peter Lubbers

Kaazing技术交流资深总监,旧金山HTML5用户组创建人。作为HTML5和WebSocket的狂热爱好者,Peter经常在国际大会上发言,还在全球范围内开展HTML5的技术培训。在加盟Kaazing前,Peter在Oracle担任了近十年的资深信息架构师,获得过两项软件专利。

Brian Albers

Kaazing研发中心副总裁。他有数十年的Web开发经验,曾在Oracle担任高级开发经理。Brian经常在Web 2.0博览会、AJAXWorld博览会和Web JavaOne等国际性会议上做讲演。

Frank Salim

Kaazing的元老级工程师,曾参与过WebSocket网关和客户端策略项目。他毕业于波莫纳学院计算机专业,除了编程之外,还喜欢阅读、绘画和轮滑。

......(更多)

目录

目    录

第1章  HTML5概述    1

1.1  HTML5发展史    1

1.2  关于2022年的那个神话    2

1.3  谁在开发HTML5    3

1.4  新的认识    3

1.4.1  兼容性和存在即合理    3

1.4.2  效率和用户优先    4

1.4.3  化繁为简    5

1.4.4  通用访问    5

1.5  无插件范式    5

1.6  HTML5的新功能    8

1.6.1  新的DOCTYPE和字符集    8

1.6.2  新元素和旧元素    9

1.6.3  语义化标记    10

1.6.4  使用Selectors API简化选取操作    15

1.6.5  JavaScript日志和调试    18

1.6.6  window.JSON    19

1.6.7  DOM Level 3    19

1.6.8  Monkeys、Squirrelfish和其他JavaScript引擎    19

1.7  小结    21

第2章  Canvas API    22

2.1  HTML5 Canvas概述    22

2.1.1  历史    22

2.1.2  canvas是什么    23

2.1.3  canvas坐标    23

2.1.4  什么情况下不用canvas    23

2.1.5  替代内容    24

2.1.6  CSS和canvas    25

2.1.7  浏览器对HTML5 Canvas的支持情况    25

2.2  使用HTML5 Canvas API    25

2.2.1  检测浏览器支持情况    25

2.2.2  在页面中加入canvas    26

2.2.3  变换    28

2.2.4  路径    30

2.2.5  描边样式    32

2.2.6  填充样式    34

2.2.7  填充矩形区域    34

2.2.8  绘制曲线    35

2.2.9  在canvas中插入图片    37

2.2.10  渐变    38

2.2.11  背景图    40

2.2.12  缩放canvas对象    42

2.2.13  Canvas变换    43

2.2.14  Canvas文本    45

2.2.15  应用阴影    46

2.2.16  像素数据    48

2.2.17  Canvas的安全机制    50

2.3  使用HTML5 Canvas创建应用    51

2.3.1  进阶功能之全页玻璃窗    54

2.3.2  进阶功能之为Canvas动画计时    54

2.4  小结    57

第3章  SVG    58

3.1  SVG概述    58

3.1.1  历史    58

3.1.2  理解SVG    59

3.1.3  可缩放图形    61

3.1.4  使用SVG创建2D图形    61

3.1.5  在页面中添加SVG    61

3.1.6  简单的形状    62

3.1.7  变换SVG元素    63

3.1.8  复用内容    64

3.1.9  图案和渐变    64

3.1.10  SVG路径    65

3.1.11  使用SVG文本    66

3.1.12  组合场景    67

3.2  使用SVG创建交互式应用    68

3.2.1  添加树    69

3.2.2  添加updateTrees函数    69

3.2.3  添加removeTree函数    70

3.2.4  添加CSS样式    70

3.2.5  最终代码    70

3.3  小结    74

第4章  音频和视频    75

4.1  HTML5 Audio和Video概述    75

4.1.1  视频容器    75

4.1.2  音频和视频编解码器    76

4.1.3  HTML5 Audio和Video的限制    77

4.1.4  audio元素和video元素的浏览器支持情况    77

4.2  使用HTML5 Audio和Video API    78

4.2.1  浏览器支持性检测    79

4.2.2  可访问性    79

4.2.3  理解媒体元素    80

4.2.4  使用audio元素    85

4.2.5  使用video元素    86

4.2.6  进阶功能    93

4.3  小结    95

第5章  Geolocation API    96

5.1  位置信息    96

5.1.1  纬度和经度坐标    96

5.1.2  位置信息从何而来    97

5.1.3  IP地址地理定位数据    98

5.1.4  GPS地理定位数据    98

5.1.5  Wi-Fi地理定位数据    98

5.1.6  手机地理定位数据    99

5.1.7  用户自定义的地理定位数据    99

5.2  HTML5 Geolocation的浏览器支持情况    99

5.3  隐私    100

5.3.1  触发隐私保护机制    101

5.3.2  处理位置信息    101

5.4  使用HTML5 Geolocation API    102

5.4.1  浏览器支持性检查    102

5.4.2  位置请求    102

5.5  使用HTML5 Geolocation构建应用    107

5.5.1  编写HTML显示代码    109

5.5.2  处理Geolocation数据    110

5.5.3  最终代码    112

5.6  进阶功能    115

5.6.1  现在的状态是什么    115

5.6.2  在Goolge Map上显示“我在这里”    117

5.7  小结    118

第6章  Communication API    119

6.1  跨文档消息通信    119

6.1.1  理解源安全    122

6.1.2  跨文档消息通信的浏览器支持情况    122

6.1.3  使用postMessage API    123

6.1.4  使用postMessage API创建应用    124

6.2  XMLHttpRequest Level 2    128

6.2.1  跨源XMLHttpRequest    129

6.2.2  进度事件    130

6.2.3  HTML5 XMLHttpRequestLevel 2的浏览器支持情况    131

6.2.4  使用XMLHttpRequest API    131

6.2.5  创建XMLHttpRequest应用    133

6.3  进阶功能    136

6.3.1  结构化的数据    136

6.3.2  Framebusting    136

6.4  小结    137

第7章  WebSockets API    138

7.1  WebSockets概述    138

7.1.1  实时和HTTP    138

7.1.2  解读WebSockets    140

7.2  编写简单的Echo WebSocket服务器    145

7.3  使用HTML5 WebSockets API    153

7.3.1  浏览器支持情况检测    153

7.3.2  API的基本用法    154

7.4  创建HTML5 WebSockets应用程序    158

7.4.1  编写HTML文件    159

7.4.2  添加WebSocket代码    160

7.4.3  添加Geolocation代码    160

7.4.4  合并所有内容    161

7.4.5  最终代码    163

7.5  小结    165

第8章  Forms API    166

8.1  HTML5 Forms概述    166

8.1.1  HTML Forms与XForms    166

8.1.2  功能性表单    167

8.1.3  HTML5 Forms的浏览器支持情况    167

8.1.4  输入型控件目录    168

8.2  使用HTML5 Forms API    172

8.2.1  新的表单特性和函数    172

8.2.2  表单验证    175

8.2.3  验证反馈    178

8.3  构建HTML5 Forms应用    180

8.4  小结    185

第9章  拖放    186

9.1  Web拖放发展史    186

9.2  HTML5拖放概述    187

9.2.1  蓝图    187

9.2.2  需要记住的事件    189

9.2.3  设置元素可拖动    192

9.2.4  传输和控制    192

9.3  构建拖放应用    193

9.4  拖放文件    201

9.5  进阶功能    205

9.6  小结    206

第10章  Web Workers API    207

10.1  Web Workers的浏览器支持情况    208

10.2  使用Web Workers API    208

10.2.1  浏览器支持性检查    208

10.2.2  创建Web Workers    209

10.2.3  多个JavaScript文件的加载与执行    209

10.2.4  与HTML5 Web Workers通信    209

10.3  编写主页    210

10.3.1  处理错误    211

10.3.2  停止Web Workers    212

10.3.3  Web Workers的嵌套使用    212

10.3.4  使用定时器    213

10.3.5  示例代码    213

10.4  构建Web Workers应用    214

10.4.1  编写blur.js辅助脚本    216

10.4.2  编写blur.html应用页面    217

10.4.3  编写blurWorker.js    218

10.4.4  与Web Worker通信    218

10.4.5  运行程序    219

10.4.6  示例代码    220

10.5  小结    225

第11章  Web Storage API    226

11.1  HTML5 Web Storage概述    226

11.2  Web Storage的浏览器支持情况    227

11.3  使用Web Storage API    227

11.3.1  检查浏览器的支持性    227

11.3.2  设置和获取数据    229

11.3.3  封堵数据泄漏    230

11.3.4  localStorage与sessionStorage    230

11.3.5  Web Storage API的其他特性和函数    232

11.3.6  更新Web Storage后的通信    234

11.3.7  探索Web Storage    235

11.4  构建Web Storage应用    236

11.5  浏览器数据库存储展望    247

11.5.1  Web SQL Database    247

11.5.2  索引数据库API    250

11.6  进阶功能    251

11.6.1  JSON对象的存储    251

11.6.2  共享窗口    252

11.7  小结    253

第12章  构建离线Web应用    254

12.1  HTML5离线Web应用概述    254

12.2  使用HTML5离线Web应用API    256

12.2.1  检查浏览器的支持情况    256

12.2.2  搭建简单的离线应用程序    256

12.2.3  支持离线行为    257

12.2.4  manifest文件    257

12.2.5  applicationCache API    259

12.2.6  运行中的应用缓存    260

12.3  使用HTML5离线Web应用构建应用    261

12.3.1  创建记录资源的manifest文件    263

12.3.2  创建构成界面的HTML和CSS    264

12.3.3  创建离线JavaScript    264

12.3.4  检查applicationCache的支持情况    266

12.3.5  为Update按钮添加处理函数    266

12.3.6  添加Geolocation跟踪代码    267

12.3.7  添加Storage功能代码    267

12.3.8  添加离线事件处理程序    268

12.4  小结    268

第13章  HTML5未来展望    269

13.1  HTML5的浏览器支持情况    269

13.2  HTML未来的发展    269

13.2.1  WebGL    270

13.2.2  设备    272

13.2.3  音频数据API    272

13.2.4  触摸屏设备事件    272

13.2.5  P2P网络    275

13.2.6  最终方向    275

13.3  小结    275

......(更多)

读书文摘

What are the implications of a plugin-free paradigm;

HTML5玩的是改革, 不是推倒重来. 毕竟, 没必要重新发明一遍轮子吧.

......(更多)

猜你喜欢

点击查看