首页>参考读物>计算机科学与技术>综合

HTML 5用户指南
作者 : (美)Bruce Lawson; Remy Sharp 著
译者 : 刘红伟 等译
丛书名 : UI设计丛书
出版日期 : 2010-10-25
ISBN : 978-7-111-32278-8
定价 : 39.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 205
开本 : 16
原书名 : Introducing Html 5
原出版社: Pearson Education USA(Shawn)
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书共分为10章系统全面地介绍了HTML 5规范的核心内容,以及这些内容在当前浏览器中的支持情况,并告知开发者如何在当前的环境下应用这些功能,开发出漂亮的Web应用。本书短小精悍,但是信息量巨大;本书注重实践,其中的示例代码都具有很强的启发性和可操作性。对于初学者,本书是了解HTML 5的很好的入门;而对于想要了解HTML 5知识和应用的有经验的Web开发者,阅读本书更是轻车熟路,能很好地加深对Web开发和HTML 5的理解。

图书特色

当前,HTML 5是人们热衷于讨论的话题,不管你是否准备好了,都需要熟悉Web和应用程序设计方面这一强大的新进展。已有的浏览器已经开始实现HTML 5的一些新功能,并且更多的浏览器在摩拳擦掌。
本书的作者在过去一年里一直使用HTML 5工作。本书介绍了如何使用这一新的语言,以实现它在当今浏览器上的优点。本书不是一本学术专著,它注重实用性,即HTML 5当前能为你解决的问题。通过本书以及书中的HTML 5代码示例,你将学会:

新的语意和结构,以帮助你的站点变得更丰富和更具可访问性。
如何应用最重要的、已实现的JavaScript API。
视频和音频的本地多媒体应用。
如何使你的Web应用在脱机状态下可用.
使用画布绘制线条、填充、渐变、图像和文本的技术。
如何构建更智能化的Web表单。
实现新的存储选项和Web数据库。
Geolocation如何在Web和移动应用中与HTML 5协作。

“HTML已经重生了,它将开发者创建Web应用的需求包含到了文档中。本书写得轻松风趣,介绍了现在使用这一新技术能够做些什么,而你身边的浏览器将很快配备这一新技术。”
—— Dion Almaer
Ajaxian.com创始人,Plam开发关系总监

“HTML 5是Web的未来。很多公司支持它,但还是存在很多混淆之处。作者是HTML 5的最早尝试者,对这一主题有着深刻的理解,本书展示了他们的功底。不要再唠叨“这是未来”,干脆拿起书来看看用HTML 5能够做些什么以及如何做到。现在就开始吧!”
—— Christian Heilmann
Yahoo!开发者网络高级开发专家

作者简介
Bruce Lawson是Opera软件的开放Web专家,是Web标准项目组可访问性任务组和W3C的移动Web最佳实践组的成员。
Remy Sharp是一位开发者、演讲者和博主,他有几本书即将出版。Remy在布莱顿运营着自己的开发公司Left Logic,还编写有关JavaScript、jQuery、CSS,以及其他语言的代码。

图书前言

欢迎打开本书。我们是两个开发者,从2008年圣诞节开始研究HTML 5,我们在邮件组列表中体验、参与,并且在学习这门语言的同时尽全力帮助其成形。
  由于我们是开发者,所以我们对于构建东西感兴趣。这就是为什么本书关注于HTML 5所能解决的问题,而不是对这门语言进行学术研究。还有一点要注意,尽管Bruce供职于Opera Software,而该公司最早开始的可行性研究工作最终导致了HTML 5的形成,但Bruce在这里不属于任何特定的团队,他的身份是使用该语言的一名开发者。
本书的目标读者
  不需要有HTML 5的知识,但我们期望你是一位有经验的(X)HTML读者,熟悉语意标记的概念。你是否很熟悉HTML或XHTML文档类型无关紧要,但是,你应该能够熟练地编写任意一种严格的标记。
  尽管你不必是一位JavaScript高手,但是你应该理解它在现代Web开发中扮演着日益重要的角色,并且像DOM和API这样的术语不至于吓得你扔下本书仓皇而逃。
  你还在这里?很好。
不适合阅读本书的人
  本书不是一本参考书。我们不想以顺序的方式依次介绍每个元素或API,详细讨论每一个元素,之后再继续进行下一个。这些应该是规范的工作,但绝对只是给出最基本的细节。
  规范做不到的事情是,教授如何使用每个元素或API,或者讲述它们如何在上下文中一起工作。随着新主题的讨论,我们将构建一些示例,并且当有需要注意的新内容出现时再返回来学习。
  从本书的书名和内容,你还会看到,要很好地掌握本书并不需要费太大的力气,本书不是面面俱到。详细地解释规范需要900页的篇幅(相比而言,第一份HTML规范只有3页纸那么长),相当于一本中等厚度的书,而且,还需要类似时空穿梭机Tardis的技术(这可能会很酷)或者需要使用显微镜才能看见的字体,你愿意选哪一种呢?
HTML 5表示什么
  这听起来似乎是一个很傻的问题,但是,在标准专家中有这样一种日趋强烈的倾向,就是把所有令人兴奋的、新的Web技术都塞入到一个带有HTML 5标签的盒子中。例如,我看到过将SVG (Scalable Vector Graphics,可缩放矢量图形)描述为“HTML 5技术组合之一”,即便它是一个独立的W3C图形规范,而且已经存在6年之久了。
  官方的W3C规范有点像是阿米巴虫,这一事实引起了进一步的混淆。这些规范总是一点点地剥离出来,成为自己独立的规范,例如Web Sockets或Web Storage(虽然都源于同一工作组,由相同的项目编辑负责)。
  那么,我们在本书中介绍“源自于WHATWG的HTML5和相关规范”(稍后将更详细地介绍WHATWG这一激动人心的缩略语)到底意味着什么呢?我们还给这个领域增加了一点“额外知识”,即Geolocation,它与HTML 5的定义无关,但是,我们包含它只是因为它真的很酷,我们对其感到很兴奋,并且它是编写Web应用程序的、令人激动的技术中的新贵。
HTML 5简史
  计算机图书中的历史部分通常会令我们烦恼。要理解如何编写一种新的语言,不需要了解ARPANET的相关知识和HTTP的历史。
  尽管如此,了解HTML 5的由来还是很有用的,因为它将帮助你理解为什么HTML 5的某些方面会像现在这样,并且有望预防(或者至少平复)骂出“什么玩意儿!他们为什么这么设计 ”的时刻。
  HTML 5差点难产
  1998年,W3C决定不再继续推进HTML。他们相信,XML是未来。因此,HTML规范在4.01版就冻结了,并且发布了一个新的名为XHTML的规范,它是HTML的一个XML版本,需要一些XML语法规则,如用引号括起属性、结束某些在其他情况下是自结束的标记等,增加了两种内容(实际上是三种,如果你关注HTML Frame,但是我们希望你不要关注它,因为它在HTML 5中已经取消了)。有一种XHTML过渡形式,用来帮助人们转向XHTML严格形式的黄金标准。
  这一切进展顺利,它鼓励一代开发者(至少是专业标准的开发者)考虑有效的、结构良好的代码。然而,针对XHTML 2.0规范的工作随后开始了,这对该语言是一次革命性的改变,因为它为了变得更有逻辑性和更好设计而打破了向后兼容。
  然而,Opera的一小部分群众,不相信XML是所有Web开发者的未来。这些人开展了额外的工作,以证明扩展HTML形式且不必违反向后兼容的规范是可行的。该规范最终变成了Web Forms 2.0,随后加入到HTML 5规范中。来自于Mozilla的个人很快加入了这一工作,这一组织由Ian “Hixie”Hickson领导,私自地进行规范研究工作,而Apple则“站在一旁加油助威”,这个小组织自称WHATWG(Web Hypertext Application Technology Working Group,www.whatwg.org)。在规范的WHATWG版本的版权声明中,仍然可以看到这一起源,“〤opyright 2004-C2009 Apple Computer, Inc., Mozilla Foundation, and Opera Software ASA”(注意,你可以使用、复制并创建衍生产品)。
  Hickson从Opera跳槽去了Google,在那里,他继续全职担任HTML 5(随后改名为Web Applications 1.0)的编辑。2006年,W3C承认他们在期待该领域迁移到XML(并且经过扩展成为XHTML 2.0)方面过于乐观。Tim Berners-Lee说:“有必要持续地发展HTML。让整个世界转向XML的尝试,包括引用属性值以及在空标记和命名空间中使用斜线,都立即无法工作。” (http://dig.csail.mit.edu/breadcrumbs/node/166)。
重新开始工作的HTML工作组通过投票,使用WHATWG的Web Applications规范作为HTML的新版本的基础,并由此开始了奇怪的过程,因为同一规范也由W3C(由IBM的Sam Ruby、Microsoft 的Chris Wilson,以及后来的Microsoft的Ruby、Paul Cotton和Apple的Maciej Stachowiak共同担任主席)和WHATWG同步开发,而Hickson继续担任编辑。
  这一过程在几个方面显得很不同寻常。首先是不寻常的开放性,任何人都可以加入WHATWG邮件列表并为此规范做出贡献。每一封邮件都由Hickson或WHATWG核心团队阅读(包括JavaScript的发明者兼Mozilla的CTO Brendan Eich、Safari和WebKit架构师David Hyatt、CSS的发明者和Opera CTO H宬on Wium Lie等知名人士)。
  不管这些想法来自何处,以及它们代表谁,或者这些想法最初是从哪里提出的,总之,好的想法就会实现,糟糕的想法就会拒绝。好的想法可以通过Twitter、博客和在线聊天系统获得。
查找规范
  由于HTML 5规范由W3C和WHATWG共同开发,因此,该规范存在不同版本。
  www.w3.org/TR/html5/是W3C的官方快照,而http://dev.w3.org/html5/spec/是最新编辑的草案和可能的修改。
  要查看WHATWG的版本,可访问http://whatwg.org/html5,但要留意其标题是“HTML5 (including next generation additions still in development)”,这很大程度上包含了实验性的思路,例如这样的元素。不要假设这个文档中的内容已经到处都实现了,或者甚至完全完成了。但这个文档注明了规范在不同浏览器中的实现状态。
  还有完整的WHATWG规范的一个单页版本,叫做“Web Applications 1.0”,它整合了WHATWG中的所有内容,位于http://www.whatwg.org/specs/web-apps/current-work/complete.html,但是,由于它拥有很多的脚本,可能会使你的浏览器崩溃。
有点晕了?http://wiki. whatwg.org/ wiki/FAQ#What_are_the_various_ versions_of_ the_spec.3F列出并介绍了这些不同的版本。
Geolocation并不是一个WHATWG规范,它位于http://www.w3.org/TR/geolocation-API/。
  2009年,W3C停止了关于XHTML 2.0的工作,并且将资源转向HTML,由此,HTML 5显然赢得了这场理论之战(追求纯设计,即便违反了向后兼容,对阵实用主义且“不要破坏Web”)。HTML 5工作组是由来自各个浏览器厂商的代表组成的,这一情况也很重要。如果厂商不愿意实现规范的某部分(例如,Microsoft不愿意实现

,或Mozilla反对),就放弃该部分。Hickson曾经说过:“实际上,浏览器厂商对于规范中的一切拥有最终投票权,因为,如果他们不实现它,那么规范只不过是一部科幻作品。” (http://www.webstandards.org/2009/05/13/interview-with-ian-hickson-editor-of-the-html-5-specification/)。很多参与者发现浏览器厂商劫持了“自己的Web”,他们纷纷以此为借口来抱怨。
  W3C和WHATWG之间的工作关系并没有像预期的那样顺利。W3C以一种基于民意的方式运作,而Hickson继续扮演他在WHATWG的角色,即一位乐善好施的独裁者(很多人可能会对我们在这里使用“独裁者”一词嗤之以鼻)。可以肯定的是,Hickson对于这门语言应该如何发展有着非常强硬的想法。
HTML 5背后的哲学
  HTML 5的背后是一系列确定的设计原则(http://www.w3.org/TR/html-design-principles)。HTML 5有3个主要目标:
   确定当前浏览器能够互操作的行为。
   首次定义错误处理。
   将该语言发展为Web应用程序编写者易于使用的形式。
不要破坏已有的Web页面
  我们当前开发站点和应用的很多方法,依赖于没有正式文档记录(或至少没有规范化)的功能,它们随着时间的流逝而加入到浏览器中。例如,无数的AJAX驱动的站点的XMLHttpRequest(XHR)功能。该功能由Microsoft发明,随后经过逆向工程并加入到所有其他的浏览器中,但是还没有作为标准规范化(Opera的Anne van Kesteren最终将其作为WHATWG的一部分规范化)。众多站点的如此重要的一个部分,竟然完全留给了逆向工程!因此,HTML 5的首要任务之一,就是将未文档化的功能文档化,以便给Web开发者和浏览器实现者留下较小的猜测工作,从而增加互操作性。
  明确地定义浏览器和其他的用户代理应该如何处理无效的标记,这也是必要的。在XML的世界中,这不是一个问题,因为如果浏览器发现一个错误,会要求它停止显示。Web得以快速普及和成功的主要原因之一是(以我们的观点),即便糟糕的代码也能够争取机会让某些或所有的浏览器显示。在Web上发布信息的门槛相当低,但是每款浏览器自由地决定如何显示糟糕的代码。如下的简单内容:
  Hello mum!
  (注意,结束标记匹配错误)在不同的浏览器中产生不同的DOM。不同的DOM可能导致相同的CSS有完全不同的显示,并且,它们可能没必要地增加了编写可跨浏览器运行的JavaScript的难度。一致的DOM对于HTML 5的设计如此重要,因为该语言自身就是根据DOM来定义的。
  为了更好的互操作性,不同的浏览器之间保持相同的错误处理是很重要的,因此,即便面对有错误的HTML,也要产生完全相同的DOM。为了做到这点,有必要规范它。正如我们所说的,HTML 5规范印刷出来有900页的厚度,但是,只有300页的内容与Web开发者有关,剩下的内容都是针对浏览器的实现者的,明确告诉他们如何解析标记,即便是糟糕的标记。
Web应用程序
  Web上逐渐增多的站点,就是我们所谓的Web应用程序,也就是说,它们模仿桌面应用程序,而不是模仿组成Web的大多数内容的、传统的静态文本-图像-链接文档。例子包括在线字处理程序、照片编辑工具、地图站点等。通过JavaScript,这些应用将HTML 4的功能发挥到了极致。HTML 5为拖曳、服务器发送事件、绘图、视频等指定了新的DOM API。HTML页面通过DOM中的对象将这些接口暴露给JavaScript,使其很容易使用严格规范的标准而不是几乎没有文档化的hack技术来编写这样的应用。
  更为重要的是,我们需要一个开放的标准(自由地使用和自由地实现),能够与Adobe Flash 或Microsoft Silverlight这样的专有性标准竞争。不管你对于这些技术或公司有什么样的想法,我们相信Web对于社会、商业和通信来说是非常重要的平台,而不应该掌握在一家厂商的手中。如果Caxton在印刷出版生产技术方面持有专利和垄断的话,文艺复兴的进展将何其不同?
不要破坏Web
  Web上已经有了巨量的页面了,并且它们势必要继续显示下去。因此,HTML 5(主要)是HTML 4的一个超集,继续定义浏览器应该如何处理
这样的遗留标记,以及其他这样的表现型标签,因为数以百万计的Web页面在使用它们。但是开发者不应该再使用它们,因为它们已经废弃了。对于Web开发者来说,语义性标记在今天仍然流行,尽管对于HTML 5是否包含了足够多的语义或过多的元素,每个读者都会形成自己的结论。
  作为额外的好处,HTML 5的明确的解析规则应该可以确保陈旧的页面能够满足互操作性的要求,因为HTML 5解析器将用于所有的HTML文档(还没有浏览器默认地配备一个HTML 5解析器,尽管在编写本书时Firefox已经有了一个实验性的HTML 5解析器,可以通过about:config命令把偏好设置html5.enable改为true,从而打开该解析器)。
XML怎么样
  HTML 5 不是一种XML语言(它甚至不是一种SGML语言)。它必须充当text/HTML。如果你需要使用XML的话,也有一个XML系列版本XHTML 5。它支持所有相同的功能,但是(毫不奇怪的是)需要一种更为严格的语法(如果你习惯了编写XHTML,那么这和你以前所编写的完全相同)。它必须是结构良好的XML,并且必须充当一种XML MIME类型,即便IE 8及其更早版本都不能处理它(会为其提供下载而不是显示)。因此,我们在本书中使用HTML而不是XHTML语法。
HTML 5支持
  HTML 5正在快速发展,该规范已经在2009年10月进入了第一个最终草案,在此日期之前,浏览器已经开始实现对HTML 5的支持了(特别是围绕API)。随着浏览器开始推出新的功能,HTML 5的支持将同样持续地增加。
  在编写本书时,我们已经几次修改章节,已考虑到规范中的修改,而规范现在看上去已经相当稳定了。我们提到“这只在浏览器××中支持”的那些地方,很快将会过时,这真是好事情。
让我们开始动手吧
  好了,这就是我们的历史课,还加入了一点点哲学内容。这就是为什么HTML 5有时候固执地与其他规范不一致,对于向后兼容,它常常定义浏览器实际做什么,而不是像一个RFC规范应该做的那样。这就是为什么有时候HTML 5像是一个杂牌组合或折中意见,它就是这样的。如果这就是我们为一个可以互操作的开放Web所要付出的代价,那么Web开发者会说:“实用主义万岁!”
  系好安全带了吗?
  让我们开始HTML 5的探索之旅吧!

上架指导

计算机\Web设计

封底文字

当前,HTML 5是人们热衷于讨论的话题,不管你是否准备好了,都需要熟悉Web和应用程序设计方面这一强大的新进展。已有的浏览器已经开始实现HTML 5的一些新功能,并且更多的浏览器在摩拳擦掌。

本书的作者在过去一年里一直使用HTML 5工作。本书介绍了如何从现在开始采用这一新的语言,以实现它在当今浏览器上的优点。本书不是一本学术专著,它关注于实用性,即HTML 5当前能为你解决的问题。通过本书以及书中的HTML 5代码示例,你将能够学会:

帮助站点变得更丰富和更具可访问性的新的语意和结构。
如何应用最重要的、已实现的JavaScript API。
视频和音频的本地多媒体应用。
绘制线条、填充、渐变的技术,带有图像和文本的画布。
如何构建更智能化的Web表单。
实现新的存储选项和Web数据库的实现。
Geolocation如何在Web和移动应用中与HTML 5协作。

本书中所有代码(以及更多内容)可以从http://introducinghtml5.com/获取。

HTML已经重生了,它将开发者创建Web应用的需求包含到了文档中。Remy和Bruce的这本书写的轻松风趣,介绍了现在使用这一新技术能够做些什么,而你身边的浏览器将很快配备这一新技术。
——Dion Almaer, Ajaxian.com创始人,Plam开发关系总监

HTML 5是Web的未来。很多公司支持它,但还是存在很多混淆之处。本书的作者是HTML 5的最早尝试者,对这一主题有着深刻的理解,本书展示了他们的功底。不要在唠叨“这是未来”,干脆拿起书来看看用HTML 5能够做些什么以及如何做到。现在就开始吧!
——Christian Heilmann
Yahoo!开发者网络高级开发专家


作者简介

Bruce Lawson
Bruce是Opera软件的开放Web专家,是Web标准项目组可访问性任务组的成员。他经常在OSCON、SxSW、@media以及Future of Web这样的会议上就HTML 5演讲。Bruce在2009年1月使用HTML 5重新编写了自己的Web站点brucelawson.co.uk。在此之前,他是宝莱坞电影的临时演员、伊斯坦布尔的塔罗牌占卜师、加尔各答的一位志愿者药剂师,以及泰国公主的女儿的家庭教师。

Remy Sharp
Remy是一位开发者、演讲者和博客,他有几本书即将出版。其中,他是jQuery for Designers(Manning)的作者和jQuery Cookbook (O'Reilly)的合著者。Remy在Brighton运营着自己的开发公司Left Logic,还编写有关JavaScript、jQuery、HTML5、CSS、PHP、Perl以及其他所使用的技术的代码和图书。

作者简介

(美)Bruce Lawson; Remy Sharp 著:暂无简介

译者简介

刘红伟 等译:暂无简介

译者序

HTML 5是Web的未来,也是Web开发者的新希望。
  HTML 5的工作开始于2004年,在 W3C HTML工作组和 WHATWG 的共同努力下,现在正在全面贯彻落实。很多关键的著名厂商都参与了W3C的努力,给予HTML 5极大的支持,其中最具代表性的是4大浏览器厂商:Apple、Mozilla、Opera和Microsoft。还有一系列的有着不同利益和专业技术的其他机构以及个人,也都对HTML 5的工作倾注了极大的热情,包括JavaScript的发明者兼Mozilla的CTO Brendan Eich、Safari和WebKit架构师David Hyatt、CSS的发明者H宬on Wium Lie等知名人士。可以说,HTML 5承载了互联网行业和Web开发者的厚望。
  同时,HTML 5也给人们带来了众多惊喜,这包括如下一些优点和新特性:
  ?新特性应该基于 HTML、CSS、DOM 和 JavaScript。
  ?减少了对外部插件的需求(比如 Flash)。
  ?更优秀的错误处理。
  ?更多取代脚本的标记。
  ?HTML 5 应该独立于设备。
  ?用于绘画的 canvas 元素。
  ?用于媒介回放的 video 和 audio 元素。
  ?对本地离线存储的更好的支持。
  ?新元素和表单控件。
  而这些新特性,正在如今的浏览器最新版本中得到越来越普遍的实现,越来越多的开发者开始学习和使用这些新特性。我们注意到,Web应用程序甚至在发挥和表现着与桌面应用程序类似的功能和性能。我们相信,随着HTML 5的支持和普及,这种趋势会越来越明显。
  本书由刘红伟、关志兴、王建勇、毛立涛、闫柳青、姜巧生、沈海峰、李振胜、李秋强等翻译。翻译的过程中,我们深感作者技术功底深厚,语言诙谐幽默,这也给我们的理解和翻译带来了很大的难度,如有不到之处,还请读者批评指正,可通过liuhongwei198004@sina.com与译者交流。
译者
2010年9月

图书目录

译者序
前  言
第1章 主要结构
1
使用新的HTML 5结构化元素 5
使用CSS样式化HTML 5 9
何时使用新的HTML 5结构化元素 12
小结 20
第2章 文本
构造主要内容区域 21
添加博客帖子和评论 26
使用HTML 5大纲 27
理解WAI-ARIA 43
更多新结构 47
重新定义的元素 51
全局属性 55
本书中没有介绍的功能 58
小结 59
第3章 表单
我们爱HTML,现在它反过来爱我们了 61
新的输入类型 62
新的属性 66
综合应用 71
对遗留浏览器的向后兼容 74
样式化新表单字段和错误消息 75
覆盖浏览器默认 75
使用JavaScript DIY验证 76
避免验证 78
小结 80
第4章 视频和音频
本地多媒体:为什么、是什么、如何做 81
编码解码器 86
滚动定制控件 90
多媒体可访问性 98
小结 100
第5章 画布
画布基础 105
绘制路径 109
使用变换:伪装的像素 110
捕获图像 113
推送像素 116
对画布绘制实现动画 120
小结 125
第6章 数据存储
存储选项 128
Web存储 128
Web SQL数据库 136
小结 146
第7章 离线
拔掉插件:离线进行 147
缓存清单 147
如何提供清单 151
浏览器-服务器过程 151
applicationCache 153
使用清单来检测连接性 155
清除缓存 156
小结 156
第8章 拖放
深入拖动 157
拖动数据的互操作性 161
如何拖动任意元素 163
添加定制的拖动图标 164
可访问性 164
小结 166
第9章 Geolocation
为访问者标记一个别针 167
API方法 169
抓住你:成功处理程序 170
它到底如何工作:这是魔术 173
小结 174
第10章 Messages、Worker和Socket用Messaging API实现聊天 175
使用Web Workers来线程化 177
Web Sockets:使用流数据 188
小结 191
结语 191

教学资源推荐
作者: 刘春燕 高建华 吴黎兵 主编 熊建强 康卓 何宁 黄文斌 熊素萍 黄华 林莉 参编
作者: 试题研究编写组
作者: 教育部高等学校计算机科学与技术专业教学指导分委员会 编制
作者: 吕云翔等编著
参考读物推荐
作者: 恒盛杰资讯 编著
作者: 胡超 梁伟 闫玉宝 等编著
作者: 张炜 郑志强 编著
作者: (美)Rick Rogers 著