青青子衿, 悠悠我心, 但为君故, 沉吟至今
« 创意手机APP汇总内网用户轻松穿越外网 »

浏览器内核WebKit编年史

  回首六年前,2005年,网络和现在完全不同。那时,浏览器大战已告尾声,虽然Netscape战斗英勇,但微软和Internet Explorer 的地位看起来越来越稳固。看起来互联网正要落入这个邪恶帝国手上,还有一点,地球人已经阻止不了微软了。

  然后在2005年6月7日,在WWDC上,Bertrand Serlet走上讲演台推出了并不被人看好的产品——苹果的浏览器的灵魂——Safari,它是开源产品。它被称为WebKit。看起来,苹果仍然无法阻止微软作威作福,但是之后,他们走上了一个那时没人预料到的完全不同的方式。

  略想一下:苹果公司是出了名的神秘兮兮,为什么他们主导一个开源项目?要回答这个问题,要正确地看待这个开源如何成功的,我们必须回头看看WebKit的根源。但如果我没触碰到WebKit的现状,未来的发展,那就是我的失职。过去的知识很重要,因为它可以帮助我们了解现在,并更好地为未来作好准备。

  诞生于开源

  瞧瞧,现在几乎所有人都认为WebKit来源于苹果公司,它是Safari浏览器的灵魂,不是吗?但这些代码的确不是在苹果总部的秘密巢穴里码出来的。它实际上源于他处,早在1998年,这些后来成为WebKit的代码其实是KDE开源项目的KHTML和KJS引擎的一部分。最初,KHTML和KJS是较早采用khtmlw(The KDE HTML Widget)引擎的项目。虽然之前发布的程序引擎W3C将“DOM”和“CSS”两者都标准化了,但仍有不少工作要做,因此支持这些功能成为一个重要的优先事项。

  几乎整个1999年,由Lars Knoll牵头,掀起了一个KHTML风潮。尽管需要不少艰巨的工作,KHTML的支持者和开发人员都不希望轻易地放弃这个项目。但这些艰苦的工作带回了丰厚的回报。到2000年的春天,出现了一套崭新的浏览器内核——KHTML和KJS ——准备在新版本的KDE上实施。他们就是后来被某个位于Cupertino的“水果”公司采摘的开源项目。

  苹果式待遇

浏览器内核WebKit编年史

  2003年1月,在旧金山的Macworld Expo主题演讲中,Steve Jobs宣布苹果KHTML引擎的移植——WebCore开放源代码。同一天,Safari的首席设计师Don Melton给公布于KDE开发者邮件名单上的KHTML和KJS – KDE的首席开发员发送了一封邮件。之后便成立了苹果的Safari团队,而且很显然两方面对于能使用这个开源代码来创建Safari都感到高兴和自豪。对代码的效率以及开发员所实现的技术,Melton信件中充满了溢美之词。它看起来像一个美妙婚姻的开始。

  然而,时间快进到两年前,我们发现这场婚姻似乎也开始触礁。

  开源社区是建筑于激情,善意,自我牺牲之上。它并不适合每一个人。要想在此取得成功——或者在这个社区成为一个腕——你必须要了解这些性格特征,并将自己置身其中。苹果也是一个社区,但它有自己的文化和目标。KHTML和苹果公司的WebCore的尝试合作出现问题,也是可以理解的。

  与苹果公司经常在WebCore做出一些变化不同,KDE社区似乎对KHTML引擎“端口”上的改变所需的时间和精力无动于衷。2005年春,合作于KHTML的两个开发者Zack Rusin 和Carewolf都在博客文章表达了他们的挫折感,不仅在于苹果的“合作”方式,而且也针对KDE社区关于合作关系的看法。

  那时,苹果公司现有的合作建立的开源项目开展得并不顺利。他们努力想成为开源社区的好公民,但它在KDE社区的眼中确是不足。看起来苹果的开放源码的尝试是失败的。KHTML和KJS是苹果创造的伟大基甸,但这也证明苹果几乎不可能以社区为所用所享的方式去“回馈”社区。

  开源,以苹果的方式

  细细观察苹果公司的运作方式,其方法看起来非常简单。他们精美的创作其实就是不断重复的细化打磨过程。他们有一个对他们来说运转良好的系统。回想起来,也难怪试图融入开源世界对他们来说并不成功。

  但苹果并不是一个完全无情的公司。他们知道,他们目前在Web技术的进步的核心就是开源社区的工作成果。所以到这里我们就回到了故事的开头, 2005年6月7日苹果宣布WebKit开放源代码。

  WebKit起初就是WebCore和JavaScriptCore代码库,后来还加入一些东西。连同源代码控制树以及错误跟踪工具,所有用来创建有效的Web浏览器的代码是开源的。即使从哲学的角度看,这种粘性似乎让苹果更具团队精神变得理所当然。这个由苹果组织和驱动的项目,不定期发布一些代码供所有人使用,让苹果在保持其臭名昭著的“控制欲”的同时,还为其在媒体界赢得了开源之名。

  而且还将此名声充分利用。

  崛起,出局和离开

  从那时起,事情开始了微妙的变化。这虽非吹枯拉朽的态势,但确是渐进而不可逆转的过程。 WebKit开始掠夺浏览器市场。当然,它不纯粹关乎市场份额数字——至少不会是第一关注点。

  WebKit正赢得网民们的心。而苹果,这家一直以设计界的倡导者和伙伴的身份所世人所知的公司,也开始到处讨好网页设计师。WebKit非常灵活,十分迅捷,能够实现新的标准和技术,仿佛是为它们的构想和发明而生。这与Internet Explorer非常不同。而Web社区钟情于此。这是从未间断过的传统。最近,我们还看到WebKit的诸多创新,推动许多新的CSS3规范,并率先采认HTML5规范。

  WebKit开始出现Safari以外的在其他地方。2005年11月,诺基亚为其S60平台发布了一个基于WebKit的网页浏览器。随着iPhone在2007年1月发布,WebKit手机应用方面声势更加壮大。其在iOS平台上得到的增长,更是前所未有。而且苹果公司将其宠儿WebKit作为Mobile Safari的基础非常具有意义。而杀红了眼的手机厂商后来的所作所为更是亘古未有。

  2007年11月,也就是iPhone亮相的10个月后,谷歌发布了收购的一项成果:Android操作系统。虽然无论在苹果及其iPhone所涉及哪个领域,Android都想跟它拼个你死我活,但它还是那么一点点的别扭——其浏览器也是由WebKit支持的。这个两个竞争对手都受益于这个开源项目。但真正的惊喜是,苹果正是这个开源项目的幕后主导者。而且他们干得还真漂亮。

  显然,谷歌很喜欢WebKit里面的东西,因为2008年秋天,谷歌自主开发的浏览器Chrome测试版开始受到互联网的热捧。没错,这也是基于WebKit的。你现在应该能看到WebKit所描绘的宏伟蓝图了吧?

  2009年7月7日,这是一个有趣的命运转机,因为谷歌宣布了一项新的项目。他们已经开始启动了其称作“Chrome操作系统”的项目运作。它的诞生就是为了争夺微软和苹果的市场的,而它却是由——你猜对了,WebKit支持的。这也是WebKit故事最吸引人的方面之一。 WebKit由开源出生,经过极具竞争力的苹果制作和打磨,而现在却是谷歌用于与苹果竞争的未来计划的基础。是不是开源软件都那么吸引人呢?

  一年后,也就是2010年,黑莓也进入到手机WebKit行列,并宣布为黑莓第六版操作系统提供新浏览器。同样,耐人寻味的是:智能手机市场的三个巨头——苹果,谷歌和RIM ——都将WebKit作为任何智能手机的关键功能——网页浏览器的骨干应该有任何智能手机。想来,谷歌和RIM都需要为此感谢苹果。苹果,你知道的,这个来自Cupertino的神秘兮兮的公司。

  当然,不仅仅是那些地位显赫的公司充分利用了这个WebKit开源项目。还有不少其他小公司的浏览器也是建筑于WebKit之上,例如Midori,Shiira和Epiphany。

  但最迷人的地方之一还是WebKit的应用还不仅严格限于浏览器。一个高质量,开放源码的浏览器的存在,让许多独立的应用程序开发人员将基于浏览器的功能纳入到应用程序。OS X上最好的在线RSS阅读器——Reeder,就是使用WebKit代码提供feeds阅读时的无缝体验。或者还可以更具创造性的方式使用它,就像Valve的Steam平台使用WebKit来渲染其用户界面。

  亦敌亦友
 

浏览器内核WebKit编年史

  现在,RIM公司采用WebKit非常有趣。谷歌将其今后的成长和规划明显的押宝在它之上更是真正的迷人之处。但苹果还有另一个竞争对手,其竞争关系也是越演越烈,也在狠狠地挖掘WebKit:Adobe。

是的,甚至连iOS的死敌——Flash——也已接受该渲染引擎,将其纳入其应用程序的Creative Suite,而且甚至还给这个代码库添砖加瓦。

  不过,苹果和Adobe之间的关系,可以在另外一篇文章中进行讨论。我只是觉得像Adobe这种关于网络建于什么之上都有不同意识形态的公司也可以在WebKit中找到共同点。这是WebKit项目之所以伟大的一种见证:其维护,质量及其最初开发者所采用的和今天编写和维护代码的工艺。

  国王已死,国王万岁!

  还记得我先前总结的苹果之所以致力于开源的WebKit的首要原因吗?对了,就是要将微软拉下马,撼动其浏览器市场的王座。不过确实没有那么“确凿的证据”。当然也没有关于苹果高管或Safari浏览器开发者之间交流了如何干掉IE浏览器的秘密图谋。这只是我的直觉,我的猜测,不过我认为这还是蛮合理的。更重要的是,我还可以提供一些冰冷生硬的数字证明,即使这不是其开源WebKit的背后初衷,它也肯定是最终的结果。

  来自Net Applications的数据显示,Internet Explorer在2005年占据着惊人惊艳的89%的浏览器市场份额,而当年WebKit刚刚开源。现在,这个数字下降到相对并不起眼的54%。相比之下,2005年,唯一的基于WebKit的浏览器——Safari仅有可怜的1.7%的市场份额。但到如今,基于WebKit的浏览器占近20%。

不过,这些统计数字很明显地偏向于桌面浏览器。手机操作系统的网页浏览器状况如何?又说明什么问题呢?好吧,手机浏览器中基于WebKit的浏览器占超过62%的市场份额。 Opera Mini以22%的份额占据第二的位置,微软的那个浏览器甚至没有足够的使用量,无法纳入统计。而“其他”浏览器的市场份额为15%。

  如今,你很难找到对高新技术产业感兴趣的人否认手机领域才是未来真正的王国。而且Webkit已经有一个强大的存在,很难想象WebKit团队持续创新的努力会很快改变。

  总结

  当然,关于WebKit,还有不少本文未有涉及到的。如果你读到了最后,我得承认倍感荣幸。我已尽我所能去完整而准确地讲诉这个故事,但仍然有很多细节未被纳入其中。

  要想获得KHTML的原编码者中的两人的观点和想法,以及WebKit开源后一年他们的立场,你可以在雅虎上观看他们的介绍。想要跟上有关WebKit项目的最新进展,没有比Surfin’Safari的博客更好的地方啦。

  最后,亲爱的读者,如果你喜欢这篇文章,请发表评论。我很想听到有关这个领域——比如网页方面的历史——你更多的见解。或者,也许你讨厌它,认为它过于累赘。如果你认为有需要,也不妨直言。

  英文原文:The History of WebKit

  中文翻译:雷锋网编译。



  除非注明,月光博客文章均为原创,转载请以链接形式标明本文地址

  本文地址:http://www.williamlong.info/archives/2763.html
  • 文章排行:
  • 1.建筑变形缝
  • 路过的支持一下了 呵呵
  • 2011/8/8 11:46:58   支持(17)反对(8) 回复
  • 2.北京回收红酒
  • 是不是开源软件都那么吸引人
  • 2011/8/7 21:10:15   支持(11)反对(4) 回复
  • 3.龙的传人
  • 今天来终于有板凳坐了,浏览器的市场还是微软占得多啊,不过N年之后就不敢讲了
  • 2011/8/7 13:07:27   支持(12)反对(7) 回复
  • 4.Kerounist
  • 看过浏览器市场占用情况统计图的会发现:opera从始至终都是很稳定的一条细线,没有增大没有减小。所以说,浏览器这东西,使用的习惯就好,不是所有人都那么喜欢“好东西”
  • 2011/8/16 1:01:39   支持(11)反对(6) 回复
  • 6.敏敏知音
  • 浏览器对于上网很重要,我的电脑里装了三个!系统本来就有一个,有时不好用。我还是喜欢用世界之窗,可是,自从装了三六0后老是不好使,只好用36零了!
  • 2011/8/7 17:26:41   支持(9)反对(5) 回复
  • 7.饺子
  • 我一直用火狐~
    IE 一般是备用~实在浏览不了的网站就用IE ~~

    另外国产 遨游也非常不错~
    可能一般的技术人员多用的Google吧~~
  • 2011/8/13 23:08:32   支持(9)反对(5) 回复
  • 8.r
  • 最恨 WebKit 神马的了别跟我提它
  • 2012/5/12 15:23:32   支持(10)反对(6) 回复
  • 11.一等一
  • LZ說的很在道理啊,每個年代都需要有新技術產生
  • 2011/8/7 15:11:37   支持(9)反对(8) 回复
  • 12.苏建报博客
  • 算是有些了解了 感谢分享
  • 2011/8/7 18:32:13   支持(6)反对(6) 回复
  • 14.chuangjiang
  • 昨天刚刚买了一本《乔布斯传:神一样的传奇》
  • 2011/8/8 10:33:30   支持(10)反对(10) 回复
  • 15.非诚勿扰报名
  • IE问题争得很历害的,因为这是互联网的窗口
  • 2011/8/9 11:22:20   支持(13)反对(13) 回复
  • 16.浏览器排行
  • 中国人应该用中国人自己的博客
  • 2011/8/11 16:06:05   支持(7)反对(7) 回复
  • 17.ncsglz
  • 没怎么看明白,SAFRI装了一次就给泄了,还没哥锯好用呢,虽然比土鳖IE好多了,话说火狐好像是个打酱油的啊
  • 2011/8/7 14:58:24   支持(7)反对(8) 回复
  • 19.abu
  • 在这其中还有一个重要的成员,WEB OS PLAM贡献
  • 2011/8/11 0:52:32   支持(9)反对(10) 回复
  • 20.鬼语
  • 哦也,看了这篇文章,我懂了,ie是从2005年开始被webkit拉下马的..完全没gecko什么事.....
    不得不说,粉的言论是最不能看的,甚至连参考的价值都没有
  • 2011/8/7 14:29:03   支持(9)反对(11) 回复
  • 22.离阁翼
  • 作为未来科技的受益者和贡献者,我认为世界太缤纷了,不管是
    IE,Safari,Chrome,或是老去的Netscape,新生的Opera,一切都应该基于让人民受益的角度才能够有更大的生存空间。
  • 2011/8/8 15:14:09   支持(7)反对(9) 回复
  • 23.Wjtimes
  • 看到苹果搞开源软件,确实很令人惊奇。等待linux下的SAFARI。的确有许多基于webkit的浏览器,而且我喜欢Chrome
    our1944 于 2011-8-7 17:26:11 回复
    在可以预见的未来是不会有那么一天的,好好想想吧,苹果什么时候开放过?
  • 2011/8/7 17:17:21   支持(10)反对(13) 回复
  • 24.acm79
  • 我个人还是比较喜欢火狐。火狐浏览器的内核渲染速度感觉比双核的傲游还要更好一点,也不清楚是不是因为傲游浏览器升级后所需的配置越来越高了,火狐现在第三方支付平台还是做的不好,平板浏览器的话,还是喜欢傲游,今晚是第一次用,感觉很不错,感觉傲游的平板浏览器就像是火狐的简化版,一些基本功能啥的都有,真心感觉很顺手,相比于其第四代感觉要好,可能是总用火狐带来的情感因素吧。个人还是看好傲游的。我有收听一个名叫月光博客的TX微博账号,不知道是不是博主。
  • 2013/7/13 23:37:33   支持(6)反对(9) 回复
  • 25.响石潭
  • 话说我也坐一下地板,看看月光德地板砖咋样。
  • 2011/8/7 13:25:38   支持(6)反对(10) 回复
  • 26.zbqgmzb
  • 同ls几个观点。ff opera都打酱油了啊?
  • 2011/8/7 15:24:09   支持(5)反对(9) 回复
  • 27.Leon
  • 我的电脑上有三个浏览器,ff,chrome和ie8。firefox和chrome都非常好用,ie和ie内核的就别提了,摒弃之。
  • 2011/9/5 13:01:49   支持(3)反对(7) 回复
  • 28.sailor
  • 最近的百度浏览器也是基于webkit内核的吧
  • 2011/8/9 15:08:25   支持(7)反对(12) 回复

发表评论:

 请勿发送垃圾信息、广告、推广信息或链接,这样的信息将会被直接删除。

订阅博客

  • 订阅我的博客:订阅我的博客
  • 关注新浪微博:关注新浪微博
  • 关注腾讯微博:关注腾讯微博
  • 关注认证空间:关注QQ空间
  • 通过电子邮件订阅
  • 通过QQ邮件订阅

站内搜索

热文排行


月度排行

本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享. 转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议.
This site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License.