HTML 5标准:富互联网时代的产物

开发 前端
HTML的前一次升级发生在大约10年前。10年来,互联网飞速发展,而浏览器市场也风云变幻,现有的HTML标准在支持音视频等多媒体应用上开始显露不足。HTML 5是响应互联网最新变化的产物,然而,这一标准的最终通过以及真正落地注定是一个长期的过程。

前不久,微软在MIX10大会上为我们展示了Internet Explore 9(IE9)预览版,该版本不仅进行了更多的技术创新,同时也在标准的支持上迈出了一大步,特别是对HTML 5的广泛支持,之前51cto也曾报导过谷歌为拥抱HTML 5决定放弃Gears,相信这对于Web开发者是件好事,同时也会加速HTML 5的推广。

HTML 5是HTML的最新标准,HTML 5的草案已经于2008年发布,目前W3C(万维网联盟)正在对此进行进一步完善,可能于今年年底或更晚些时候正式推出。对许多人来说,早该进行这种改进了。十多年来,HTML一直没有进行真正的升级,上一次正式获得W3C推荐(即Web标准制定过程的最终阶段)的标准语言还是2001年的XHTML 1.1。此后的这些年,Web开发人员要求升级的呼声越来越高。因为HTML和XHTML标准已力不从心,它们以文档为中心的理念无法有效地满足现代Web应用的需要。

HTML 5旨在改变这一切,这项新标准将包括更强大的用于交互、多媒体和本地化等方面的标签以及应用编程接口(API)。随着对HTML 5功能特性的支持慢慢出现在目前主流的浏览器中,一些开发人员甚至已开始表达这种希望:这种经过更新的新HTML将会解放浏览器,让浏览器不必再依赖Flash、QuickTime和Silverlight等专有插件。

然而,虽然一些知名的内容发布网站已经开始支持这项新标准,如苹果、谷歌、Mozilla 基金会、Vimeo和YouTube,但W3C的内部人士表示,HTML 5 前面的道路依然很坎坷。这项规范的有些部分仍存在争议,而另一些部分尚未最终敲定。最终标准可能几年后才会出现,而大部分网民用上兼容HTML 5的浏览器则需要更长的时间。在此期间,开发人员将面临一大难题:如何利用现有技术开发富Web应用,同时为今后顺利过渡到HTML 5做好准备。

让HTML跟上富互联网时代

富互联网应用与HTML并非一直是天作之合。按互联网之父Tim Berners-Lee的说法,HTML就是“一种用来创建平台独立的超文本文档的简单标记语言。”XHTML(采用纯XML格式的语言)问世后,W3C保留了把网页视做文档的这种理念,而几项提议的XHTML标准注重文档结构、与XML工具的兼容性以及Berners-Lee憧憬的语义Web等问题。

这让那些认为互联网作为一种应用平台还会有更大作为的开发人员深感沮丧。2004年,苹果、Mozilla 基金会和 Opera软件公司的代表共同成立了Web超文本应用技术工作组(WHATWG),这是个独立的Web标准联盟。WHATWG独立于W3C组织开展工作,开始携手改进HTML,方向是互联网应以应用为中心。

2007年,由于 XHTML2方面的工作陷入了似乎无休止的争论中,W3C投票决定采纳WHATWG的工作成果,在此基础上制定新的HTML 5标准。至此,连Berners-Lee都改变了立场,支持互联网以应用为中心。他在2006年曾写道:“事隔几年后想想,一些问题比较清楚。有必要逐步完善HTML,而试图让全世界一下子改用XML是行不通的。”

这倒不是说纯XML的标记语言这个想法已过时。虽然HTML在标准制定工作中重新扮演起主角,但采用XML格式的HTML 5(名为XHTML 5)同时也在开发中。区别在于,XHTML 5将面向那些已经改用HTML 5的人,而开发人员不再非得遵守XHTML的严格语法才能充分利用Web标记语言的最新功能特性。

重新定义标签

尽管如此,HTML 5还是继承了当初提议为XHTML 2增添的许多特性,包括旨在改善文档结构的许多功能特性。比如说,新的HTML标签(如header、footer、dialog、aside和figure)让内容创作者能够以一致的方式,指定常用文档元素。以前,开发人员不得不使用自定义类属性的Div标签来标记这类元素,这种自定义的方法使得HTML文档很难解析。

HTML 5还继续致力于把Web内容与表现分开来。比如,开发人员可能会惊讶地看到新标准中可以使用b元素和i元素,不过这些元素现在用来以类属方式作为文本的一部分,而不代表任何特定的排版格式。比如,i元素过去代表斜体字体,而在HTML 5中,它仅仅指“突出不同意见或语气的一段文本”。与之相似的是,b元素并不代表特意加重字体的文本,而是代表文体上突出的不包含任何额外重要性的文本。

相比之下,原先专门代表下划线文本的u标签在HTML 5中被弃用了,一同弃用的还有其他针对特定表现的元素,包括font、center和strike。这类样式属性现在被认为是CSS所特有的。

新标准为表单输入元素引入了额外的数据类型,包括日期、URL和电子邮件地址,同时对部分原来的元素进行了修改,比如改进了对非拉丁文字符集的支持,包括用于指定出现在一些亚洲语言中的“附注文字”(ruby text)的标签。HTML 5 还引入了微数据(Microdata)概念,这是一种用机器可读标签来标注HTML内容的方法,从而为语义Web简化了处理。总之,这些结构上的改进让内容创作者得以提交更干净、更容易管理的网页,这些网页可与搜索引擎、屏幕阅读软件及其他自动化内容分析工具很好地兼容。 #p#

实现更丰富、基于标准的Web

但世人最迫切期待的HTML 5新增方面却是那些新的元素和API,让内容创作者只要使用基于标准的HTML,就能制作丰富多媒体内容。现代网页越来越多地采用可扩展图形、动画和多媒体,但到目前为止,这些功能要求使用Flash、RealMedia和QuikTime等专有插件。这类插件不但带来了新的安全风险,还限制了网页的受众面。

HTML 5解决这个问题的一个办法就是让浏览器原生地支持相关的标记语言。内容创作者可以把用MathML(用于渲染公式)和SVG(用于渲染可扩展矢量图形)编写的标记直接嵌入到HTML 5网页中。这种更强的灵活性让跨平台的HTML比设计当初就既要支持图形又要兼顾文本的Flash和Silverlight等更有竞争力。

不过,Web开发人员对HTML 5新的音频和视频标签的呼声更高,这些标签最终目的是要很容易地把多媒体内容嵌入到网页中。这些标签在HTML 5标准中要求与编解码器无关,这意味着将由浏览器厂商负责提供能播放任何内容所需的编解码器,只要符合一定标准就可以。其中,视频标签尤其被寄予厚望,因为对网上视频提供商来说,它们希望自己的内容未来可以在苹果的iPhone(手机上网)和即将发布的iPad上播放,这两款设备目前都不支持Flash。

画布(Canvas)标签让交互式Web图形向前迈进了一步,该标签可用来把浏览器窗口的某些区域定义为动态位图。Web开发人员可使用JavaScript来处理画布中的内容,针对用户操作实时渲染图形。从理论上来说,这项技术有望让开发人员只要使用JavaScript和HTML,就能开发出完全交互的游戏。

除了这些显示技术外,HTML 5 还引入了基于浏览器的应用缓存概念,应用缓存让Web应用可以把信息存储在客户端设备上。与谷歌Gears 插件一样,这些缓存既提升了应用性能,又可以让用户即便无法连接互联网,也能继续使用Web应用。实际上,谷歌已经计划逐步停止支持Gears,改而支持HTML 5技术。

浏览器插件还没过时

尽管 HTML 5有诸多新特性,但也别指望插件会一夜之间销声匿迹。Web向来就有多种相互竞争的技术与媒体格式共存的传统,且很难克服这种传统的强大惯性。也许很多年以后,纯HTML 5浏览器的性能才赶得上如今各式各样的客户端。

比如,尽管Vimeo和YouTube已经在试用HTML 5 Video标签部署HTML 5多媒体内容,却不会像听上去那么容易。W3C决定不在HTML 5标准中明确规定用哪种特定的媒体编解码器,这意味着开发人员无法保证任何一种媒体格式在每一种客户端设备上都能播放。比如,苹果、谷歌和微软都在力推H.264视频格式,但Firefox和Konqueror等开源浏览器却无法(或者说思想上不愿)把支持这种格式的相应专利权授给别人。除非解决这个问题,否则Web内容创作者要想覆盖最广泛的受众面,可能只好继续依赖Flash。

也并不是每个旧的Web应用都能针对HTML 5进行改写。比如,尽管谷歌低调对待自身的Gears技术,青睐基于标准的本地应用存储方法,但Gears API和HTML 5应用缓存API并不完全一样。谷歌自己承认“目前还没有一种简单、全面的方法可以让具有Gears功能的应用(连同整个用户群)都改用基于标准的方法。”除非真有这种方法,否则连使用完全兼容HTML的浏览器的用户也可能只好安装Gears以支持这些过去开发的Web应用。

最后,对钟情于HTML 5的开发人员来说,浏览器市场份额也许是最大的障碍。尽管IE6存在渲染问题、在Web标准支持方面落后,却似乎仍是不可能马上消失的浏览器。旧版本的 Firefox、Opera、Safari及其他浏览器也有庞大的用户群,而它们中没一个支持HTML 5。除非这些浏览器换成新版,否则Web开发人员可能需要同时维护两个版本的网站:一个面向HTML 5用户的版本,另一个面向依赖过时渲染方法的面向旧浏览器的版本。

苹果的iPhone和iPad青睐HTML 5,不支持Flash,随着HTML 5日趋成熟,预计它们会支持这项标准。与之相似的是,谷歌的Chrome浏览器在支持HTML 5方面一路领先,而基于该公司即将推出的Chrome OS的设备预计会亦步亦趋。不过,各大内容发布网站在标准支持方面一向很保守,就算拥有庞大的HTML 5用户群,财富500强公司可能也在多年以后才愿意冒险升级。 #p#

如何向HTML 5过渡?

Web开发社区的不少人认为转向HTML 5要谨慎。比如,虽然微软计划在IE9中支持HTML 5,但这家软件业巨擘对于在HTML 5还没有正式成为标准之前支持它心存疑虑。微软Windows事业部总裁Steven Sinofsky最近接受采访时表示:“先说自己基于标准,但随后又说你是最兼容HTML 5的浏览器,这种做法不明智,因为这项标准还没有制定完毕。”

W3C也对HTML 5的前景持谨慎态度。HTML 5工作组预计这项标准在2011年之前不会正式成为候选推荐标准—这是W3C标准制定过程的特性完成阶段。即便到那时,批准其为W3C推荐标准的过程预计仍会持续到2022年前后。如果真是这样,从XHTML 1.1走到HTML 5就要用21年。

不管怎样,HTML 5可能仍是今后5到10年最前沿的技术之一。那些希望马上看到实际应用效果的早期采用者可以这么做,尽管应用有限。如今网上有许多试点项目和演示网站展示了这项新标准的各项功能,关键在于选择合适的浏览器。比如,Firefox对HTML 5功能特性的支持就不尽如人意; 基于WebKit渲染引擎的浏览器(包括Chrome和Safari)则支持得更好些。

同样,Web开发人员可以随意尝试,可以用遵守当前HTML 5规范草案的代码来创建整个网站,不过效果对现有的浏览器而言可能各不相同。对关注HTML 5的开发人员来说,网上最好的资源之一是知名程序开发员Mark Pilgrim所写的《Dive into HTML 5》,里面深入浅出地介绍了HTML 5 Video元素和目前浏览器支持的各种编解码器。

目前,HTML 5标准方面还有太多工作要做,以至于有人甚至可能对它不屑一顾,觉得这又是一项日渐重要、但炒作过头的技术。其实,这种认识是片面的,标准制定组织本来动作就很缓慢。好在HTML 5方面的工作得到了各大厂商的大力推动,包括Adobe、苹果、谷歌、微软、Mozilla基金会、Opera软件公司及其他厂商。这些公司认识到需要升级已无法满足当前需求的HTML标准,它们的工作有助于HTML 5的推广和普及,因此,对Web开发人员来说HTML 5机遇实在诱人,不容忽视。

【编辑推荐】

  1. HTML 5 Web Socket:下一次Web通信革命揭幕
  2. HTML 5将给开发者带来什么?
  3. Flash,Silverlight与HTML 5三方论剑
  4. HTML 5来临 Flash死亡倒计时?
  5. 当Flash遇到HTML 5 互联网视频倾向哪方?
责任编辑:王晓东 来源: 新浪
相关推荐

2023-02-01 08:07:39

HTMLChatGPT互联网

2010-06-02 14:01:36

IPv6协议标准

2019-08-28 18:38:56

2016-12-05 13:22:15

互联网移动互联网物联网

2015-03-17 14:56:59

2012-07-23 13:41:15

傲游浏览器傲游浏览器

2009-12-04 16:20:12

HTML 5

2011-07-19 10:24:29

Windows

2017-10-11 22:17:01

感受新型互联网时代

2019-02-17 09:09:22

互联网春运春节

2011-08-30 14:12:21

HTML 5

2013-03-14 17:17:34

2011-07-29 18:45:33

云时代互联网

2011-12-19 10:37:47

2021-12-28 08:58:27

互联网网络IPv6

2015-05-11 11:06:43

统一基础架构系统华三通信UIS

2013-01-24 13:15:58

互联网移动互联网智能手机

2014-11-06 13:52:46

移动互联短信

2012-01-13 10:02:10

顶级域名ICANN互联网域名

2013-06-26 09:34:59

互联网棱镜计划
点赞
收藏

51CTO技术栈公众号