本书旨在介绍如何利用HTML5创建引人注目的网站和新颖的应用程序,涵盖HTM5、CSS3和JavaScript API三大主题。本书共分16章,第1章介绍HTML5文档组成和结构;第2章如何设计CSS样式、传统框模型和弹性框模型;第3章介绍如何利用CSS3属性实现动态和可视化效果;第4章讲述HTML5最重要的组成部分:JavaScript及其相关API;第5章揭示如何在HTML5中创建视频和音频;第6章阐述HTML5表单及其新的属性和API表单;第7章介绍如何在Canvas上处理图像、动画和视频;第8章讲解拖放API的相关操作;第9章介绍如何利用地理位置API实现定位功能;第10章阐述Web存储API的实现;第11章介绍IndexedDB的实现与相关操作;第12章讨论关于文件的操作和文件API;第13章介绍通信API的重要组成部分:XMLHttpRequest Level 2、Web消息传递API和WebSocket API;第14章讲述如何实现Web Workers API;第15章概述历史API的相关功能;第16章脱机API的功能以及属性、事件和方法。
本书适合希望系统学习HTML5的网站开发人员和设计人员阅读。
在当前的环境下,移动应用需求的爆炸性增长在某种程度上加速了HTML5技术的推广和HTML5标准的进一步成熟。在移动领域中,硬件方面:各种品牌、各种功能、各种尺寸的智能手机和平板电脑等移动设备可谓五花八门;软件方面:移动操作系统平台也依然是iOS、Android和Windows Phone三分天下。这种局面为移动应用开发者带来了巨大的挑战,如果使用各个平台原生的技术来开发应用,不仅一款应用只能在一个平台上运行,而且要完成适配各种型号的硬件设备这一无比繁琐的任务,开发者在重复发明轮子的同时也限制了自己的创造性。HTML5技术的特性能很好地解决这些问题,这也是全球各大互联网企业争相支持和完善HTML5技术和标准的重要原因之一。
作为开发者,掌握HTML5技术已经是大势所趋,对于有一定HTML基础的开发者而言,如何才能迅速掌握最新的HTML5技术并提升自己的开发水平?学习并掌握本书的内容,也许是一条捷径。它是专门为这类开发者量身打造的,系统讲解和分析了HTML5的所有新特性和核心技术,极具针对性,极大地降低了学习成本。
本书核心内容:
HTML5文档的基本组成、全局结构、主体,以及新旧元素对比。
CSS的样式设置与框模型。
CSS3的核心新属性和新规则。
JavaScript的核心知识。
HTML5中的音频和视频特性,以及如何在HTML5中创建视频和音频。
HTML5中的各种表单(包含新增表单元素)及其新属性,以及表单API。
Canvas的特性及其使用,以及Canvas的API。
HTML5中的拖放操作及其API。
HTML5中的地理位置信息及其API。
HTML5中的各种Web存储方法,以及Web存储API。
索引数据库(IndexedDB)的具体操作、实现原理,以及它的API。
HTML5中的文件操作和文件系统,以及文件API。
HTML5中的Ajax、跨文档消息传递、Web套接字等通信技术的原理,以及它们的API。
HTML5中Web Workers的使用方法和实现原理,以及它的API。
HTML5中的历史接口及其API。
HTML5中的脱机功能及其API。
作者简介
J.D. Gauchat
资深Web技术专家,对HTML5、CSS3、JavaScript和PHP等Web开发技术有非常深入的认识和理解,在该领域工作了10余年,经验十分丰富。他的这本著作被翻译成西班牙语等多种文字,而且他还在Web开发领域发表了大量有影响力的技术文章。此外,他还是一位企业家,致力于在世界范围内的市场中发现机遇。
HTML5并不是旧标记语言的新版本—甚至也不是对已“过时”技术的改进,而是移动设备、云计算和网络时代的一种网站和应用程序开发新概念。
很久之前,使用简单版本的HTML,就可以创建基本网页结构、组织内容和共享信息。最初,这种语言和Web主要是用于实现基于文本的通信方式。
由于HTML的使用范围有限,因此许多企业都开发了新的语言和软件,以便在Web中添加新的特性。这些最初的开发逐渐成为强大和流行的插件。简单游戏和动画效果很快转变成复杂的应用程序,给人们带来全新的体验,并从此改变了Web的概念。
在所有插件中,Java和Flash是最成功的。它们应用广泛,并且被认为是互联网的未来。但是,随着用户的增长,而且互联网从最初的计算机爱好者之间的互联工具转变为以商业和社交互动为主的场所,这两种技术的局限性最终使它们越来越不受欢迎。
Java和Flash最主要的问题在于缺乏集成性。两者从一开始便以插件形式出现,有时候还需要插入文档结构中,但是实际上只是与该结构共享屏幕的一部分空间。在应用程序和文档之间不存在通信能力和集成性。
缺乏集成性的问题越来越严重,也为语言的演变做好了准备,使之共享HTML文档的空间,成为不受插件限制影响的组件。JavaScript是嵌入在浏览器中的一种解释性语言,同时也是一种改善用户体验和实现Web功能的方法。然而,在过去几年里,由于推广及滥用问题,市场并没有完全接受这种语言,而且其流行性也有逐渐下降。批评者有着很好的理由反对这种语言。在那段时间里,JavaScript无法替代Flash和Java的功能。甚至,有一个很明显的现实情况是,Java和Flash限制了Web应用程序的范围,并且隔离了Web内容,而一些流行特性(如流式视频)正成为Web的重要组成部分,并且只有通过这些技术才能有效地实现。
尽管取得了很大的成功,但是Java也存在一些缺陷。这种语言具有非常复杂的特性,发展缓慢,缺乏集成性,这些问题都直接限制Java在目前主流Web应用程序中的应用。如果不使用Java,人们只能使用Flash。然而,Flash实际上与其竞争对手具有相同的Web特征,因此注定会退出市场。
同时,访问Web的软件在不断发展。除了增加新特性和提高互联网访问速度,浏览器还不断改进其JavaScript引擎。增强的功能带来了更多的机会,而这种脚本语言也已经做好了准备。
从某种程度上讲,那些不使用Java或者Flash的开发人员在这个过程中可以为越来越多的用户提供创建应用程序所需要的工具。这些开发人员开始在他们的应用程序中以全新的方式编写JavaScript代码。这种创新及其令人吃惊的结果引起了越来越多程序员的注意。很快,所谓的“Web 2.0”开始出现,开发者社区对于JavaScript的认识也发生了根本性改变。
显然,JavaScript是一种允许开发者在网页上创新和实现特殊效果的语言。近几年来,全世界的程序员和网页设计人员使用了很多方法,希望克服这种技术的局限性及一直存在的可移植性问题。JavaScript、HTML和CSS显然是引领Web变革的最佳组合。
事实上,HTML5正是对这个组合的改进,是将整合这一切的黏合剂。HTML5标准涉及Web的各个方面,也清晰定义每一种技术的用途。从现在开始,HTML负责设置文档结构(结构元素),CSS则关注于如何将结构转换为可视化效果和可用性,而JavaScript则负责实现功能和开发完整的Web应用程序。
网站与应用程序之间的界限已经完全消失。所需要的技术也一应具备。网页的未来是光明的,而将这三种技术(HTML、CSS和JavaScript)演变和整合为一个强大的规范便是将Internet转化成一个主导的开发平台。HTML5显然是朝着这个方向发展的。
重要提示:目前,并非所有的浏览器都支持HTML5特性,而且大多特性仍处于设计阶段。我们建议您阅读各个章节,并在最新版本的Google Chrome、 Safari、Firefox或 Internet Explorer上执行示例代码。Google Chrome基于WebKit,这是一个开源浏览器引擎,几乎支持所有的HTML5特性,因此Google Chrome是一个很好的测试平台。Firefox是一个很适合开发者使用的优秀浏览器,它采用Gecko引擎,同样也完全支持HTML5。最后,新版本的Internet Explorer(IE9)已经支持HTML5及大部分新特性。
不管使用哪种浏览器,一定要注意:优秀的开发者必须在市面上所有浏览器上安装和测试所编写的代码。要在每一个浏览器上测试本书所提供的示例代码。
通过以下链接可以下载最新版本的浏览器:
windows.microsoft.com
本书最后提供了多种兼容旧版浏览器的设计方法,使未支持HTML5的浏览器也能够正常访问网站与应用程序。