随着HTML 5技术的不断发展,有关它的话题讨论越来越热烈,比如HTML 5存在哪些不足、开发人员应该尝试还是旁观等等。Opera专家谢子斌将为大家解读HTML的历史和发展。
HTML 5的历史
HTML5是W3C的一个规范。如果追溯起源,并非W3C提出的HTML5。它最初起源于一个叫做WHATWG的小组。2004年,W3C正建立XHTML2的规范,Opera和火狐当时给W3C提供了一些改善HTML标准的建议,但是W3C拒绝了这个报告。Opera和火狐还有苹果三个公司的技术人员共同成立了WHATWG小组,开始一起制定HTML4的规范,但还是不叫HTML5。直到2007年W3C决定开始制定后HTML4的规范,我们才把自己写的一些规范并入W3C刚成立的HTML5小组。
浏览器厂商对HTML 5的态度
W3C有700多个会员,其中包括很多浏览器厂商,谷歌、微软、Opera、火狐等。他们参与了规范的制定,在推出之前,争执和讨论早已发生,内部已经统一了对规范的看法,所以对HTML5的支持,大家基本都是一致的。虽然有我们不满意的地方,但是我们在实施HTML5的时候基本是希望看到兼容性的,比方说你是第一个实现HTML5某个技术的浏览器,他肯定也希望其他浏览器厂商能实现这个技术。因为只有大家都实现这个技术的时候,程序员才会采用这种技术。如果只在特定浏览器才能实现,那么程序员可能就会采用这个技术应用。这种技术上的实现和推广可以比作一个长跑,可能是你暂时领先,也可能暂时是我领先,但是只有大家都跑到终点,这场长跑才会结束。
Web应用架构师和开发人员对待HTML 5的态度
大家使用HTML5只是一个时间问题。不管你现在使用,还是两年后再使用,但是最后肯定是要使用HTML5。我们在推广的时候,就考虑到这个方面,采用所谓优雅降级的做法,可以尝试提供一些HTML5技术给前卫的用户来体验,同时也不拒绝一般用户,比如说IE6的用户,虽然不能使用HTML5,但是可以浏览加入该技术应用的网站。比方说CSS 3,它不是HTML 5,但有些人把他们混为一谈,你用它在图片上实现一个圆角的效果,我觉得可以采用这种优雅的方式,如果你的浏览器可以实现,你就给它一个圆角的效果,如果不能,则给它一个一般的效果就可以了。大家都可以浏览你的网站。再比方说video标签,IE 6虽然不能使用这个标签,但是它能读取里面的内容。
目前HTML 5在企业级的应用
有挺多的网站都使用HTML5了,比方说youtube,他们就开始使用HTML5的video标签了。之前youtube上面都是flash,他们现在也有一个HTML5版本了,目前应该正在测试中。
HTML 5存在的不足
每个语法都有他的缺点,HTML5当然也有,也许有人会说HTML 5若干年后才能应用,媒体也有这样的报道出现。在这里就可以提到HTML5的规范上面来,因为这是一个多人参与的透明的过程,如果进度快的话,可能就会有很多缺陷产生。所以这不可能是一次性完成的事情。因为规范太多,只是HTML5的规范目前就有900多页,然后再加上与HTML有关的Canvas、SVG、离线储存等等,如果想要很好的把它们和HTML5统一起来,不可能是短时间就能完成的事情。不过话说回来,需要一点时间完善这些规范也不算是一个缺点。
另外的缺点的就是,在中国,可能有不少用户使用IE6,在IE6上HTML5是不兼容的,这个问题比较棘手,但是微软已经意识到这个问题,所以在IE9的开发就比较关注HTML5。当然肯定还有其他缺点,虽然目前还是有很多,但是我觉得优点远远多于缺点,而且完备是需要一个过程的。
HTML 5、Flash和SilverLight的关系
我觉得Flash技术做的非常好,他让开发人员可以使用很多之前不能用的技术。当然HTML5一些技术和Flash相似的地方,Canvas和SVG相比Flash的优势源于W3C里面多家浏览器厂商参与技术的透明性,Flash技术毕竟是一家公司掌控。
Silverlight和Flash情况是差不多的,始终由一家公司控制,他就像一个黑箱,不透明。如果收费的话,大家只能给钱。而HTML5则是透明开放的,因为几百家公司都有参与,是免费的。其实Flash之所以受欢迎,主要Adobe公司提供了一个很好的IDE界面。HTML5缺乏一个强大的IDE。