精品生活百态

浏览器的多样性

2013-02-15  本文已影响1469人  MJGA

最近,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 标准的发展带来的好处。

很多时候,我们考虑好处往往会迷失了双眼,变得无法选择。我们可以换一个角度来思考,两种方案哪个方案所带来的害处更多呢?如果两害相权取其轻的话,这个问题似乎又不难选择了。因为,我们希望一个更加开放自由的互联网。


点此链接下载简书APP,关注我的内容更新,并与我互动交流吧~

上一篇下一篇

猜你喜欢

热点阅读