基本信息
- 原书名:HTML 5 for Masterminds: How to Take Advantage of HTML5 to Create Amazing Websites and Revolutionary Applications
- 原出版社: CreateSpace Independent Publishing Platform

内容简介
计算机书籍
Amazon畅销书,被翻译成西班牙语等多种文字,广受好评,被誉为HTML5领域的经典著作。详尽地讲解和分析了HTML5中的所有新特性和核心技术,能为有一定HTML基础的读者迅速提升HTML5开发技能提供绝佳指导。全书包含297个代码示例和16个快速参考索引,极具实战性和实用性。
《HTML5精粹:利用HTML5开发令人惊奇的Web站点和革命性应用》共16章:第1章介绍了HTML5文档的基本组成、全局结构、主体,以及新旧元素对比;第2章和第3章讲解了CSS的样式设置、框模型,以及CSS3的核心属性和新规则;第4章重点介绍了JavaScript的核心知识;第5章详细介绍了HTML5中的音频和视频特性,以及如何在HTML5中创建视频和音频;第6章讲解了HTML5中的各种表单(包含新增表达元素)及其新属性,以及表单API;第7章介绍了Canvas的特性及其使用,以及Canvas的API;第8章探讨了HTML5中的拖放操作及其API;第9章介绍了HTML5中的地理位置信息及其API;第10章讲解了HTML5中的各种Web存储技术,以及Web存储API;第11章阐述了索引数据库的具体操作、实现原理,以及它的API;第12章讲解了HTML5中的文件操作和文件系统,以及文件API;第13章介绍了HTML5中的Ajax、跨文档消息传递、Web套接字等通信技术的原理,以及它们的API;第14章讲解了HTML5中Web Workers的使用方法和实现原理,以及它的API;第15章和第16章介绍了HTML5中的历史接口和脱机功能,以及它们的API。
作译者
目录
译者序
前言
第1章 HTML5文档1
1.1 基本组成1
1.2 全局结构1
1.2.1 Doctype2
1.2.2 (html)2
1.2.3 (head)3
1.2.4 (body)3
1.2.5 (meta)4
1.2.6 (title)5
1.2.7 (link)5
1.3 正文结构6
1.3.1 组织7
1.3.2 (header)9
1.3.3 (nav)9
1.3.4 (section)10
1.3.5 (aside)11
1.3.6 (footer)12
译者序
说起我与HTML的缘分,由来已久。1997年,刚开始使用浏览器,就开始制作小网页,制作简单的网站。但那个时候,学习编程的我,对于标签语言(尤其是定义标签的<>符号)有那么一点点不习惯。因此主要的工作还是通过编程,也就是利用单机或C/S架构的程序来解决问题。
1999年,受ZDNET网站之约,我为ZDNET网站翻译了完整的HTML4.0规范。翻译的好处是,可以强迫自己细读全部标签、属性,从此,我打下了坚实的HTML基础。虽然我的主要工作是管理开发、提供解决方案,但在协调开发人员和美工进行B/S架构的开发时,依靠纯粹手写HTML的经验,让我减少了许多沟通和管理的障碍。
直到深入理解了HTML,我才明白,一切界面都是拼接、画出来的,不论是多么复杂的网站、多么精美的应用、多么漂亮的设计,都源自那些“朴实”的标记。
时隔8年之后,2008年年底,我又翻译了《HTML、XHTML和CSS宝典(第4版)》,这使我对HTML、CSS、JavaScript再次温故而知新。
HTML—不变应万变之技术老枪
IT技术领域有一个现象,就是新技术层出不穷,IT人员疲于追逐新技术,却很少精通哪项技术。十几年间,Windows等操作系统、.NET、Java等编程技术经历了几代的演进,Web也从1.0发展到2.0。但作为互联网基石的HTML始终保持了相对的稳定。如果说有什么技术在学习了之后,可以保持长久的生命力,HTML、CSS、JavaScript无疑是其中的典范。每次遇到年轻的项目组开发人员只知道关注那些后台框架,却对HTML一知半解的时候,我这杆“老枪”不得不亲自上阵,用我最喜欢的写字板来解决他们的HTML代码问题。HTML的魅力,即使在多年之后,仍然给我带来了无限的冲击力。
在这个过程中,我也面临选择。2009年接手一个公司的项目,受微软新技术的吸引,一定要使用SilverLight。当我用HTML+Web 2.0+SNS设计出全新架构之后,SilverLight已经弃用了。
关于Flex、Flash的计算机外版图书,我其实也翻译过不少。但当有一家电信公司跟我说脱离了Flex,就做不到百万级数据报表在浏览器中实时显示的时候,我又用HTML+Web 2.0给予了回击。
HTML5—揭开崭新篇章
但是,随着B/S架构、普适计算和移动运算的普及,PC、平板电脑、手机、家电各种计算设备的整合,各种专有技术,包括ANDROID、MS、APPLE、ADOBE FLASH等,都暴露出自己的瓶颈,虽然程序员精心开发了一个应用,但是大多数情况下只能适用于一个平台,为了保持兼容性,又要投入巨大的精力。这种人为的壁垒束缚了程序员的创造力,也限制了用户的选择。
终于,巨头们达成一致,齐心协力共同开发HTML5。HTML5展示了美好的前景:良好的跨浏览器标准支持、本地存储、脱机运行、GPS地理位置支持、视频、绘图、多媒体……可以说,对传统的B/S架构的应用和最新的移动应用提供全面支持。
如果你因为苹果公司封闭的开发体系和Object-C不好掌握而错过了开发《愤怒的小鸟》等热门游戏的大好机会;如果你因为安卓平台版本众多、兼容困难、投入大、见效少而痛苦;如果你因为微软.NET平台对平板、手机的支持欠缺而错失移动互联网的机会……那么,现在一个新的机会正呈现在你面前,那就是HTML5。从理论上讲,用HTML5开发的应用程序,在台式机、平板设备、安卓手机、苹果手机、其他智能设备、各个主流浏览器上,都能完美运行。
重大的技术更新,必然带来一次重大的应用更新,催生新的市场,而这种技术是跨越所有主流厂商私有技术并得到普遍支持的技术,这个市场会有多大,有多少机会,我不予猜测。
如本书所述,本书介绍的许多技术,在当前主流浏览器中的实现,目前仍然处于“实验”阶段。而据最新报道,HTML5的最新标准大约要到2014年才能推出。另外,微软目前推出的Windows 8和Internet Explorer 10据说全面支持HTML5标准,其他厂商也不甘落后。那么,这当中会有多少机会,相信已经不言而喻。
但是,无论如何,有一点是可以肯定的,HTML是这些年来最稳定、最持久、最成功的技术,或者谦虚一点,加上两个字:之一。
关于本书—快速升级书
本书适合于有一定HTML、CSS、JavaScript基础的读者阅读。首先,作者是一个资深程序员,行文作风很像是在研讨会上对听众介绍新技术,言简意赅,重点突出,但显然不会顾及全部细节。另外,本书只有前4章对HTML、CSS、JavaScript做了简要介绍,其余12章,全部放在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上执行示例代码。GoogleChrome基于WebKit,这是一个开源浏览器引擎,几乎支持所有的HTML5特性,因此Google Chrome是一个很好的测试平台。Firefox是一个很适合开发者使用的优秀浏览器,它采用Gecko引擎,同样也完全支持HTML5。最后,新版本的Internet Explorer(IE9)已经支持HTML5及大部分新特性。
不管使用哪种浏览器,一定要注意:优秀的开发者必须在市面上所有浏览器上安装和测试所编写的代码。要在每一个浏览器上测试本书所提供的示例代码。
通过以下链接可以下载最新版本的浏览器:
www.google.com/chrome
www.apple.com/safari/download
www.mozilla.com
windows.microsoft.com
书摘
第1章 HTML5文档
1.1基本组成
HTML5有三个基本特色:结构、样式和功能。虽未正式发布HTML5,甚至其中也不包含一些API和整个CSS3规范,但HTML5仍被认为是HTML、CSS和JavaScript结合的产物。这三者都是极为可靠的技术,并且在HTML5规范下组织为一个整体。HTML负责结构,CSS负责在屏幕上呈现该结构及其内容,而JavaScript则负责其余一些仍极为重要的工作(我们会在本书后面看到)。
虽说集三种不同技术于一身,但结构仍然是HTML5文档的核心部分。它提供了分配静态或动态内容所必需的元素,也是应用程序的基本平台。随着各种类型的设备可以访问Internet,以及用于网络交互的界面日趋多样化,结构作为一个基本方面,俨然成为文档至关重要的部分。现在,结构必须提供外观、组织和灵活性,同时还必须如房屋地基一般坚固。
在使用HTML5创建网站和应用程序之前,首先需要扎实地了解它的结构,以便将来充分利用HTML5带来的新机会。
因此,让我们一步步从基础开始学起。在第1章中将学习如何使用HTML5引入的新的HTML元素来构建一个模板,以供未来的项目使用。
动手实践:用你喜欢的文本编辑器创建一个新的空文档,以便在浏览器中测试本章中的所有代码,从而帮助你记住新的标签并熟悉这个新的标记。
基础知识回顾:HTML文档是一个文本文件。如果没有任何开发人员软件,可以使用Windows中的记事本或任何其他文本编辑器。文件必须保存为.html扩展名,文件名可以任取(例如:mycode.html)。
重要提示:为了了解更多信息和代码清单示例,请访问本书的网站:www.minkbookscom。