关于HTML5的5个误解
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标准和它的实现者需要解决的问题。
作者简介:程劭非/winter,一淘网移动前端技术专家。技术Blog是 http://winter-cn.cnblogs.com。微博: @寒冬winter。
相关厂商内容
《JavaScript语言精粹》作者Douglas Crockford确认参会
QCon北京Node.js专场:异步非阻塞,单线程,事件驱动,如何在企业应用落地发挥成效?
个性化推荐系统仅是大企业专利?如何正确实施,大幅提升企业生产力?尽在QCon推荐系统专题
相关赞助商
GitHub研发团队成员Corey Donoho QCon分享Github架构设计与团队合作, 详情请点击!