12 月 17 日 W3C 的 CEO Jeff Jaffe 宣布 HTML5 定义完成,即进入了 Candidate Recommendation 阶段,这距离它成为 W3C 的正式推荐标准(Recommendation 阶段)已经很近。然而技术社区对于 HTML5 仍存在很多误解以至于错误理解这一事件的意义。本文试谈几点常见的误解帮助大家了解 HTML5。
HTML5 标准是超炫的技术
HTML5 标准本身是标记语言和语义的规范,所以它不会包括诸如 API 和样式这样的内容,标记语言和语义这种东西甚至是不可见的,当然更不可能“炫”了。通常社区中提到 HTML5 所指的是与 HTML5 差不多同时开始制定的一组新的标准,他们包括一些 CSS3、Canvas 2d API、WebGL 等 API 和新特性标准,WebGL 甚至并非 W3C 标准。这一次宣布完成的 HTML5 是 HTML5 标准本身,这仅仅意味着 HTML5 的新语法、新标签和语义已经有了稳定的定义,不会有大变更。而真正与开发密切相关的一些 API 标准并不在此列。
HTML5 是一项新技术
HTML5 所用的技术差不多在 20 年前就已经成熟,而 HTML5 本身也并非技术,而是标准。即使作为标准 HTML5 也并非新标准,而是一个工作了 10 年的标准 HTML4.01 的新版本,它是基本向下兼容的。作为一份标准,HTML5 的发布意味着这项技术已经完全成熟并且各大浏览器厂商和其它 W3C 会员达成了一致意见。尽管各方完全实现标准尚需时日,但是鉴于 W3C 几乎已经聚集了所有这份标准的相关方,所以几乎不会再出现另外的声音了。
HTML5 现在还不可用
对于 HTML5,既不应该说“可用”又不能说“不可用”。谈论 HTML5 是否可用是不恰当的,因为如上文所说通常意义所指的 HTML5 包含若干互相独立的技术标准,它们的可用性是相互独立的。诸如 WebGL、WebSocket 这样的标准现在不论在移动还是桌面 WEB 环境都几乎完全不可用。而语义化标签和 HTML5 标记语言语法(既 HTML 标准本身所规定的内容)现在则是可用到不能再可用的状态。在这种状态下,更务实地去讨论具体的特性是否可用才是合理和正确的做法,在这方面 http://caniuse.com/ 做了非常多深入而细致的研究。
HTML5 现在已经制定完成了
因为一些历史原因,现有的 HTML5 的制订大部分是在 WHATWG 完成。而 HTML5 回到 W3C 之后,WHATWG 将会继续维护一份 HTML 规范文档,这份文档将不会设定完成日期。这意味着仍然可能有大块的特性加入其中,且它永远不会像 W3C 规范一样变得稳定。按照现有的模式,W3C 将会逐步发布 WHATWG 版本的 snapshot 作为 HTML 新规范,在 W3C 的 CEO 宣布 HTML5“完成”之时,HTML5.1 版本已经开始制订了。
HTML5 的性能很差
性能问题可能来自多方面,硬件、操作系统、应用代码都可能导致性能问题,然而性能问题唯独与标准关系不大。HTML5 是一个标准,它本身不涉及任何性能。有这样的断言应当是因为现在主流的浏览器实现都在移动端表现不佳,这与浏览器环境本身的复杂性的确密切相关,更涉及到不少 W3C 和 WHATWG 之外的标准(如 JS、WebGL)。应当明确的是,HTML5 程序性能表现不佳仅仅是其相对于各个平台的原生应用来讲的,并不是 HTML4.01 性能更好了。比起 HTML 统治了桌面互联网大半江山的前几个版本,HTML5 不论性能还是功能都是全面增强的。HTML 更早版本的产品更新到 HTML5 将会是无需置疑和理所当然的。HTML 在移动领域面临的新的应用场景(Web Application)和面临的问题(性能和功能)则正是 HTML5 出现的原因,也是 HTML5 标准和它的实现者需要解决的问题。