具体描述
内容简介:
今天,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
· · · · · · (收起)
读后感
社交网络成了现在最热门的应用。以twitter 和 facebook为代表的应用逐渐成为人们生活的一部分. 社交网络作为一种新的应用 , 不但使人们的生活方式发生着创新,也使开发他们的工具发生着革命性的创新。 现在技术更强的支持位置信息,实时性能和广播(共享)。 用于改善用户体验...
本书非常适合从事具有web开发经验的人员, 此书讲解了很多web开发重点的内容,但是本书仅仅是讲解了一个开头, 如果想深入了解得需要查看更多的第三方资料。 “抱歉,你的评论太短了” 那就多说两句。 首先认为html5还需要很多发展的原因: 第一: html5的核心内容 Canvas、...
有幸收到人民邮电出版社图灵公司寄来的《html5 高级程序设计》一书。近两周空暇时间的阅读,受益颇丰... html5是全新的标准,目前市面上有关html5的相关书籍很少。我们在参考网上的相关资料时,无非都是简单介绍视频、音频、画布、表单以及web存储这些主要的内容,而且举得例子...
书的内容是比较前沿(HTML5毕竟也是比较新的东西) 一些功能,几乎没有浏览器能够实现。 没有什么技术难度和深度。 仅仅是一本技术普及的介绍手册。 正本书的内容十分实用。 语言简练易懂对于英文一般的人读起来也不会有什么困难! 简单介绍一下书中内容: 1,Canvas AP...
用户评价
拿到这本书的瞬间,我就被它精美的装帧吸引了。封面上“HTML5程序设计(第2版)”几个字,散发出一种沉甸甸的专业感,仿佛握在手中的是打开新世界大门的钥匙。我是一名初涉前端开发的爱好者,之前一直在网上零散地学习,总觉得知识点之间缺乏系统性,概念也有些模糊。这次鼓起勇气入手这本纸质书,是希望能够建立起一套扎实的基础。书的印刷质量非常好,纸张厚实,触感舒适,即便长时间翻阅也不会感到疲惫。我特别喜欢它章节之间的过渡设计,感觉每一页都在引领我走向下一个更深入的主题。虽然我还没有开始正式阅读,但仅仅是浏览目录和前言,就让我对书中内容的广度和深度充满了期待。我尤其关注书中关于HTML5新特性的讲解,比如Canvas、SVG、Web Workers这些我一直觉得很神秘但又非常强大的功能。我设想这本书会像一位经验丰富的老师,循序渐进地引导我理解这些复杂的概念,并通过丰富的示例代码让我能够亲手实践,将理论知识转化为实际能力。我希望它能帮助我理清前端开发的脉络,让我不再是那个对着代码一脸茫然的新手,而是能够自信地构建出令人眼前一亮网页应用。
作为一名正在寻求技术突破的资深前端开发者,我一直对行业内的权威书籍保持着高度的关注。“HTML5程序设计(第2版)”这本书,在我看来,更像是一次对现有知识体系的梳理与升华。我们都知道,前端技术更新迭代的速度非常快,但HTML5作为网页开发的基石,其核心概念的重要性不言而喻。我非常看重这本书的“第2版”这个定位,这意味着它很可能已经吸收了前一版的反馈,并且在内容上进行了更新,以适应最新的技术趋势和最佳实践。我期待书中能够深入探讨HTML5在响应式设计、性能优化、离线应用、多媒体集成等方面的最新进展。同时,我希望书中不仅仅是罗列API,更能深入剖析这些API背后的设计哲学和应用场景,提供一些高阶的技巧和注意事项,帮助我解决在实际项目中遇到的棘手问题。我也会特别留意书中关于跨浏览器兼容性处理的建议,这无疑是前端开发中一个永恒的挑战。如果这本书能提供一些实用的解决方案或设计模式,那将对我工作的效率提升带来巨大的帮助。
我是一名UI/UX设计师,虽然不直接写代码,但对前端技术有着浓厚的兴趣,希望能够更好地理解和运用HTML5来创造更具吸引力和用户友好的界面。在我看来,HTML5不仅仅是标记语言,更是实现设计理念的载体。“HTML5程序设计(第2版)”这本书,我希望它能帮助我理解HTML5在语义化、可访问性以及交互设计方面所扮演的角色。我期待书中能够详细阐述如何利用HTML5的语义标签构建结构清晰、易于理解的网页,以及如何运用CSS3的新特性(例如Flexbox、Grid布局)实现更灵活多样的页面布局。我还会特别关注书中关于表单、多媒体元素以及Canvas/SVG在用户交互方面的应用,希望能够从中获得灵感,将我的设计转化为更具功能性和视觉冲击力的前端实现。我并非要成为一名程序员,但我希望通过这本书,能够更加深入地理解前端技术与设计的结合点,从而在我的设计工作中,能够做出更具前瞻性和可行性的决策。
我是一个对编程充满好奇心的大学生,我的专业方向是计算机科学,但之前接触的主要是后端和算法。最近我发现前端开发越来越有意思,特别是HTML5,感觉它让网页变得不仅仅是静态的文字图片,而是可以交互、有生命力的。我选择了“HTML5程序设计(第2版)”这本书,主要原因是因为我听说它非常适合新手入门。我希望这本书能够从最基础的概念讲起,比如HTML标签的语义化,CSS3的动画和布局,JavaScript的ES6新特性等等,并且讲解得通俗易懂,最好能配上一些形象的比喻或者图解。我最担心的是学习过程中遇到不懂的地方,如果书中能够提供一些思考题或者小练习,让我能够及时巩固和检验学习成果,那就太棒了。我也希望这本书能包含一些实际项目的案例,让我能够跟着做,一步步构建出自己的网页。比如,学习完某个章节,能够做一个简单的个人博客或者一个数据展示页面,这样学习起来会更有成就感。
说实话,我之前对HTML5的认识仅停留在“网页的骨架”这个层面,总觉得它和JavaScript、CSS是独立的,各自为战。但最近我开始意识到,HTML5本身引入了许多强大的新元素和API,它们与JavaScript的结合,能够实现很多以前无法想象的功能。所以我一直在寻找一本能够系统讲解HTML5核心能力的书籍,而“HTML5程序设计(第2版)”恰好引起了我的注意。我特别想了解的是,HTML5是如何让网页变得更加“智能”和“富媒体”的。比如,音频和视频元素的引入,它们的使用方法和兼容性问题;Canvas和SVG在图形绘制方面的应用,能否用于制作复杂的用户界面或者数据可视化图表;还有Web Workers对于提升网页性能的作用,它如何实现异步加载和并行处理。我希望这本书能够详细介绍这些新特性,并且提供清晰的代码示例,让我能够理解它们的工作原理,并学会在实际项目中应用它们,从而提升网页的交互性和用户体验。
入门级的,大体介绍了各个方向,兼容状况不全,API也不详细。
1)书名有点误导人,应该改为跟第一版那样“HTML高级程序设计”;2)书很薄但内容一点不显浅,适合有一定基础的人读。
很糟糕的一本书,随意翻翻了解HTML5有什么新的特性足矣。
很糟糕的一本书,随意翻翻了解HTML5有什么新的特性足矣。
着重讲解了几个技术以及对应的 api 实现方法,并使用例子贯穿。很不错的 HTML5 入门教程。