游戏开发论坛

 找回密码
 立即注册
搜索
查看: 7353|回复: 0

阐述HTML5定义及IE浏览器的技术支持

[复制链接]

1万

主题

1万

帖子

2万

积分

管理员

中级会员

Rank: 9Rank: 9Rank: 9

积分
20468
发表于 2013-6-24 19:21:26 | 显示全部楼层 |阅读模式

作者:Brandon Satrom


“HTML5时代已经来临,网络不会一成不变。”


你可能早已经听过此类论断,我猜当你听到这种说法时,先时兴奋,继而翻翻白眼,口中喃喃自语:“为什么?”


若你出现上述反应也并不奇怪——我自己在制作HTML5应用时也曾经历过这一过程。


HTML5技术令人兴奋,并且有潜力改变我们所知的网络,但它仍然遭遇不少质疑。


更重要的是,其存在意义着实令人难以捉摸。这是一个广泛的话题,所以你很难一次把HTML5吃透,更何况是了解如何运用这种新技术开发内容。


如果你对HTML5感兴趣,或者有所怀疑和困惑,不妨先通过本文了解HTML5的意义。


HTML5是什么?

也许现在你已经发现,HTML5对不同的人而言自有不同意义。


对某些人来说,它仅仅意味着“页眉”和“页脚”之类的新标签,以及一系列出现于标记的新属性。对其他人而言,这意味着出现在网络上的新鲜有趣事物,其中包括植入单个浏览器或其他非HTML5规格的技术。


显然,了解HTML5的真正意义正是我们许多人所面临的第一个瓶颈。


坦白地讲,关于HTML5的定义真是太多了。


根据万维网联盟(W3C)的定义,HTML5包含超过100种与下一代网络技术有关的规格。不难发现,W3C通过将这100多个规模置于HTML5的名称之下,过于简化了实际情况。虽然我们难以将像HTML5这样广泛的事物,以模糊的方式对其定义,我还是相信W3C试图通过引进HTML5这个统一的概念来解释变化多端的网络环境。


事实上,HTML5是一个描述用于帮助开发者创建下一代网站和应用的HTML、CSS和JavaScript规格的涵盖性术语。这个定义中最显眼的三个部分是:HTML、CSS和JavaScript。他们定义了开发者如何使用优化标记,风格更丰富的性能,以及新JavaScript API来制作最新的网络开发功能。简单而言,HTML5=HTML+CSS+JavaScript。


HTML5主要关于HTML、CSS和JavaScript的变化。这三者描述了HTML5的宽度和范围,这样你就无需担忧关于100多种规格的问题。


还是觉得这有点简单化?有可能,但你很快就会看到,HTML5的广泛定义并没有像你选择的(值得投入时间和精力的)技术那么重要。


了解HTML5定义之后,让我们花些时间讨论微软在HTML5领域的作为。



HTML_5_in_Internet_Explorer(from splashnology)


HTML5和IE浏览器

正如我之前所言,构成HTML5的规格已经被W3C标准化。W3C的成员、组织和个人都投入精力帮助提升和定义未来的网络。W3C是一个基于一致性的组织,通常由工作组来执行相关技术标准的划分工作。任何成员都可以提出技术标准,这些标准均为W3C所有,从草案到正式推荐需要经历5个阶段的过程。


微软就是W3C成员之一,并在许多HTML5标准和工作组的标准化过程中发挥了积极作用。与所有的主流浏览器厂商一样,微软在HTML5中投入巨大,并持续与W3C及其他厂商合作确保开发者可在所有主流浏览器中部署HTML5技术。


作为浏览器厂商,微软战略分为4个环节:

1.通过IE9传递最佳现成网站HTML5技术;

2.通过IE平台预览向开发者展示新功能;

3.通过提交至W3C的测试,研究技术的互用性;

4.通过HTML5标签模拟不稳定的标准。


“现成网站HTML5”是微软用于描述你已经可以使用的HTML5技术的一个术语——它们已经获得了所有主流浏览器的广泛支持。像新HTML标签、Canvas、可伸缩矢量图形(SVG)、音频和视频、地理定位、网页存储以及许多新CSS3模块都已经植入IE9以及其他主流浏览器。


除此之外,微软还使用公共平台预览功能通知开发者即将面世的新版浏览器并征求反馈。对于IE9,微软每隔6至8周都会发布平台预览,每次都会宣布新的HTML5增强功能,以及性能优化以便开发者进行尝试和评估。IE9发布于3月份。截止7月初,微软已经为IE10发布了两次平台预览。作为开发者,你应该希望通过最新预览学习、测试并影响浏览器的发展。


为确保HTML5能够在所有浏览器上运行一致,微软在该技术的互用性上进行大量投入,向W3C创造并提交了与HTML5相关的最大测试用例。这个测试用例套件将首次被W3C用于每个浏览器HTML5技术“准备就绪”的权威来源。这样开发者就可以一次性采用并部署HTML5,并相信它们将在所有浏览器上保持一致。


虽然有些HTML5技术已经出现在IE9,但还有些技术仍然需通过IE平台预览宣布后才能面世,有些热门和最新规格仍需要W3C和浏览器厂商的进一步鉴定之后,才能植入我们的应用。


其中一个典型就是Web Sockets,这个规格可让开发者在后端服务器打开双向通信渠道,激活一种此前无法运用于网页应用的“实时”连接功能。作为开发者,你无疑可以想象无数次在应用中使用Web Sockets的情况。但Web Sockets的技术标准也迅速发生变化,因此当前所有浏览器都难以持续而可靠地提供这种功能。


针对Web Sockets这种不断变化的技术标准,微软创造了允许开发者试验这些技术的HTML5标签。该网站提供了允许下载并进行本地试用的原型,以及某些技术标准的托管样本。其目标是给你一个地方亲自尝试这些技术标准,让你针对这些技术标准给予微软和W3C一些反馈。


HTML5和微软开发者工具

除了微软对W3C的参与,以及在浏览器中对HTML5技术的支持,微软在HTML5技术方面还有另一项针对开发者的重要举措:微软的HTML5工具。


在2011年初,微软更新了其服务包中的两项开发工具:Visual Studio 2010和Expression Web 4。这些服务包提供了一个用于验证的HTML5文件类型,以及用于新HTML5标签和属性的IntelliSense。


如果你使用的是Visual Studio 2010 SPI,可点击Tools | Options | Text Editor | HTML | Validation启用HTML5方案,然后在Target下拉列表中选择HTML5选项(如图1)所示。你还可以通过任何HTML文件中的HTML Source Editing Toolbar将HTML5设置为默认方案(如图2)所示。



(图1:通过选项对话框启用HTML5方案)



(图2:在HTML Source Editing Toolbar设置HTML方案)


在你的默认方案设置完毕之后,IntelliSense以及新特定标签、全局属性将可运用于HTML中的28个新语义标签。



(图3:Visual Studio 2010 SPI中的HTML5 IntelliSense)


微软在2011年6月,通过发布针对Visual Studio 2010 SPI的Web Standards Update进一步更新了对HTML5的支持。这一扩展为Visual Studio增加了HTML5 IntelliSense和验证,其中包括针对Geolocation和DOM Storage等新浏览器性能的JavaScript IntelliSense,并提供了广泛的CSS3 IntelliSense和验证。


至于Expression Web 4 SPI,在Tools | Page Options之下设置HTML5方案也可以提供相同的IntelliSense,并为数种草拟CSS3模块提供了CSS3 IntelliSense。


如果你使用WebMatrix,你可能会注意到你所创造的包含类似下图中默认标记的全新.html, .cshtml, or .vbhtml文件。这是一个基础而有效的HTML5文件。最值得注意的是,其文档类型的元字符集标签已经丢失了许多不整齐的内容。使用这种简单的文档类型可在所有现代浏览器中触发HTML5模式,而WebMatrix则可通过提供默认的HTML5文档让你更轻松地执行操作。


如果这些新HTML5工具对你来说还不够,可以看看4月份在MIX11中宣布整合到ASP.NET MVC 3 Tools Update中的ASP.NET MVC。这个更新版本为新项目提供了使用HTML5文档类型的选项,并在新应用的Scripts文件夹中植入了Modernizr 1.7。Modernizr是一个可以极大简便HTML5开发的JavaScript库。


这里的结论是,尽管HTML5才刚出现于我们的浏览器,官方工具也非常迅速地添加了对其的支持服务。微软甚至还添加了针对社区的库支持(例如Modernizr)。


让你的应用“采纳”HTML5

现在,你应该意识到HTML5并非一个你可以一下子采纳或转移的单个实体。采纳HTML5并非批量选择,而是依据技术进行技术评估、确定是否适合自己应用的选择。对于你所评估的每项HTML5技术,至少要考虑以下因素以便决定是否采用该技术:

1.该技术在所有主流浏览器中的运用是否普遍?


2.你该如何采纳这一技术,并“polyfill”无法支持该功能的浏览器?


若你考虑的是用户最常使用哪些浏览器,就很有必要考虑第一个因素。这可以帮你确定这100多项技术标准中哪些子集最值得评估,以确保它们足够稳定。


但即使是稳定的HTML5技术集合,你也不该忽视那些尚未转向新浏览器的用户。如果你高度参与网站的日常开发工作,你肯定就会大概了解用户通过特定浏览器访问你网站的比例。对我们多数人而言,大家很容易因为看到使用旧版浏览器的用户比例而得出结论,认为采用HTML5技术会对这些用户带来消极影响。


Paul Irish(注:一名jQuery和Modernizr项目的开发者)将polyfill定义为“……模拟一个未来API,提供旧版浏览器撤退功能的垫片。”polyfill就像是网站的填泥料,它能决定某项HTML5功能是否适用于正在浏览你网站的用户,并提供一种“补充”这种支持的填料,或者一段能够让你的网站依旧完整运行的故障弱化。


与polyfill相关的最热门的库是Modernizr,也就是我之前提到的JavaScript库。Modernizr为主流HTML5技术提供了一些语义标记、功能检测的基本polyfill功能,以及基于已支持功能的条件式CSS支持。Modernizr将通过这个系列,以及其他多个polyfill库出色运行。欲了解更多详情,请通过modernizr.com下载Modernizr。


在决定选择哪些技术时,你的最终列表上可能会有一些广泛支持的技术标准,以及其他你需要为特定浏览器填充支持的技术标准。只有根据自己当前的需求和情况,你才会清楚自己的这个选择列表将包含哪些内容。


如果你想了解HTML5的情况,我建议你去阅读一些有关这个话题的书籍。我尤其推荐由Bruce Lawson和Remy Sharp所著的《Introducing HTML5》(New Riders,2010),以及由Mark Pilgrim推出的《HTML5 Up and Running》(O’Reilly Media, 2010)。请登陆W3C.org了解所有技术标准的更多新信息,并通过BuildMyPinnedSite.com和IETestDrive.com下载IE9和IE 10的平台预览内容,了解微软通过该浏览器传递的HTML5体验。


来自:游戏邦


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-2-26 14:06

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表