在不少死忠看来,转投Webkit的那一刻开始,那个纯正的Opera就已经不复存在。以Google和苹果为靠山的Webkit在事实上已经赢得了胜利,尤其是在Android和iOS移动智能设备大举盛行的今日。
在linlis(个人博客)看来,Opera的这项举动无疑无疑有利于用户和前端开发者,但是其中却也包含着危机,有可能造成互联网“多样性”的损失,那么我们究竟应该做何抉择呢?
最近,Opera宣布新版本采用Webkit内核在业内引发了不小的震动。饱受浏览器兼容折磨的前端工程师们纷纷叫好,对他们来说这意味着工作量的减少,并希望Firefox和IE都能够跟上Opera的步伐,尽快转投Webkit。
由于我在工作中也一直需要写HTML和CSS,我非常能够理解这样的观点。确实,在现在前端越来越复杂、用户体验要求越来越高的今天,前端工程师的在浏览器兼容上面的工作量是巨大的,他们必须保证网站在不同浏览器下都可以获得尽量一致的体验。
但是,既然大家都是基于 W3C 的标准来做浏览器,为什么不同的浏览器会产生这么多不同的结果呢?
这是一个非常有意思的问题,首先 W3C 是一个非常学术的标准制订机构,他们并不会去涉及商业方面的事情,所以他们不会去过问浏览器生产商们,你们该怎么去做你们的浏览器,也就是说,如果浏览器厂商哪怕不遵守W3C的标准,也是可以的。
另外,W3C的标准并不是细致的,它是一个足够开放的标准,因为本身CSS的理念就是开放的(它允许多个样式表的层叠),比方说它不会去规定每个网页默认的字体大小等很多属性,而这些属性的决定权,都交给了浏览器。浏览器们首先可以选择性地遵守W3C的标准,其次他们自身又有很大发挥的余地,这就造成了每个浏览器下的网页的兼容性问题。
再来看Webkit内核,如果你打开它的网站,你就会发现Webkit的团队几乎都是Google和苹果的工程师,同时Webkit就是Chrome和Safari的内核。
浏览器内核界除了Webkit,还有IE的Trident内核、Firefox的Gecko内核和Opera的Presto内核,而今,Opera 放弃转投了 Webkit,那剩下的主要就只有三家了(Webkit、Trident、Gecko),很有三足鼎立的局势。
对的,也许你已经看出来了,Webkit就是那强大的魏国,因为他们背靠Apple和Goolge这两座大山。如果你把目光转移到移动设备上来,那么Webkit几乎已经是一统天下了。在Webkit的推动下,兼容性问题确实变得越来越少了。
因为Webkit的市场占有率,我们几乎肯定地会把前端的***个版本基于Webkit浏览器来做,而在移动设备上,我们几乎可以不考虑兼容问题。从这个角度上来说,Webkit带来了巨大的便利性,前端开发的效率极大地提升了。
我们不妨做一个架设,如果未来Firefox和IE都转向了Webkit,会是怎样?
对于整日埋头于调整浏览器兼容性的前端工程师来说,他们绝对会欢呼的,这意味着再也不会有兼容性的问题了(可能还会有一些,但是不会很严重)。对于普通用户来说呢?这依然是一件好事,因为他们会享受到一致的用户体验,甚至因为前端工程师精力的解放,网站的前端水平普遍会得到提升。
但是凡事都有两面性,当我们享受了这些好处的时候,我们将接受Webkit的独裁统治,事实上,在移动互联网领域,已经基本是这样一种情况。
当Webkit一家独大的时候,它和W3C的关系也会改变,这对W3C标准的发展并无好处。因为Webkit基本上就是等于W3C的存在,Webkit将直接成为标准,浏览器内核领域将缺少了多样性(diversity),而多样性正是浏览器内核和W3C标准发展的重要条件,其实也是互联网发展的重要条件。
看看Opera以往给互联网做出的贡献就能知道这种多样性是多么重要。今年来流行的HTML5就是Opera***开始支持的,响应式设计(Responsive Design)也得归功于Opera对Media Query的首先支持。所以,如果我们仍然希望保留这种多样性,那么我们不应该希望Firefox和IE都转去Webkit阵营。
这真是一种非常矛盾的选择,一方面,我们的工程师和用户都将享受统一内核所带来的极大的便利性和用户体验上的提高,另一方面,是多样性给互联网内核和 W3C 标准的发展带来的好处。
很多时候,我们考虑好处往往会迷失了双眼,变得无法选择。我们可以换一个角度来思考,两种方案哪个方案所带来的害处更多呢?如果两害相权取其轻的话,这个问题似乎又不难选择了。因为,我们希望一个更加开放自由的互联网。