惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
博客园_首页
H
Help Net Security
T
Tailwind CSS Blog
S
SegmentFault 最新的问题
GbyAI
GbyAI
Scott Helme
Scott Helme
D
Docker
Hacker News: Ask HN
Hacker News: Ask HN
P
Privacy & Cybersecurity Law Blog
Jina AI
Jina AI
雷峰网
雷峰网
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Spread Privacy
Spread Privacy
G
GRAHAM CLULEY
C
Cisco Blogs
The Hacker News
The Hacker News
F
Full Disclosure
Y
Y Combinator Blog
Blog — PlanetScale
Blog — PlanetScale
Recent Announcements
Recent Announcements
G
Google Developers Blog
量子位
K
Kaspersky official blog
Cisco Talos Blog
Cisco Talos Blog
The Cloudflare Blog
A
About on SuperTechFans
C
Cybersecurity and Infrastructure Security Agency CISA
Last Week in AI
Last Week in AI
博客园 - 三生石上(FineUI控件)
Microsoft Security Blog
Microsoft Security Blog
Martin Fowler
Martin Fowler
T
Tenable Blog
P
Palo Alto Networks Blog
H
Heimdal Security Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
W
WeLiveSecurity
Schneier on Security
Schneier on Security
The Register - Security
The Register - Security
F
Fortinet All Blogs
Stack Overflow Blog
Stack Overflow Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
The Blog of Author Tim Ferriss
N
News and Events Feed by Topic
Hugging Face - Blog
Hugging Face - Blog
小众软件
小众软件
V
V2EX
爱范儿
爱范儿

月光博客

AI编程从零开始:环境配置到开发调试-月光博客 母亲被保健品诈骗-月光博客 向身体低头,向岁月妥协:我的高血压“还债日记” -月光博客 月光博客电子书:《信息安全指南》 谷歌发布2025年度搜索排行榜 中国2025社会热点大事记 2025年十大流行语发布 7天3次,骗子骗走我母亲95万元 “技术男”设三重安全墙,母亲95万存款还是被骗走了 电信诈骗后的复盘:母亲的95万元,是怎么从手机银行里消失的 母亲被电信诈骗95万元的全过程 阿根廷警察被谷歌街景相机拍到裸照 网信办开展“清朗·整治恶意挑动负面情绪问题”专项行动 翟欣欣敲诈勒索案一审获刑12年 《绝命毒师》影评:力工觉醒后的梭哈至死 《人工智能生成合成内容标识办法》正式施行 用AI分析你的财务信息 腾讯子公司实习HR怒怼求职者后被开除 OpenAI发布最强模型GPT-5,免费向所有用户开放 用AI解构你的日记 用AI分析你的游戏偏好 用AI分析你的观影偏好 用AI分析你的听歌偏好 《白鹿原》人物分析:乱世浮沉中的人性剖析 乌托邦的捷径:让AI治理“失败国家” 苹果AI的“路径错误”:为什么它在大模型时代掉队了? 《暗黑破坏神3》第35赛季开荒指南 我对特朗普的看法 欧·亨利十大经典小说鉴赏 HBO电视剧《最后生还者》第二季影评 播客自动化更新分发教程 《围城》人物分析:知识分子的时代困局 NotebookLM音频概览支持中文 《暗黑破坏神3》国服回归 《暗黑破坏神3》国服赛季开荒指南 《网络数据安全管理条例》正式发布实施 契约之下的自由:社会契约论 如何去除文章的AI味道 电影《好东西》影评 我的价值观:义务论和效益论 《魔兽世界》正式服PVP教程 电影《哪吒2》影评 中医理论不是科学理论 DeepSeek与主流AI模型对比评测 TikTok停止在美国服务 我的三观(世界观、价值观、人生观) 《无限暖暖》游戏评测 2024年财经年度总结 月光博客2024年推荐阅读文章 IMDb公布2024年热门电影和电视剧 2024年十大流行语发布 谷歌发布2024年度搜索排行榜 中国2024社会热点大事记 Google Adsense税务居住地证明申请教程 极狐GitLab回应前员工实名举报公司高管:恶意诽谤造谣 升级FTTR千兆光纤带宽 字节跳动起诉前实习生索赔800万 看完历届奥斯卡最佳影片后的体验 李子柒已经正式改名并恢复更新 苹果历年新春短片 “姜萍事件”调查结果公布 胡锡进社交平台恢复更新 上海女子沙白自杀的伦理道德分析 京东与杨笠一起玩火 字节跳动大模型训练被实习生攻击,涉事者已被辞退 《加勒比海盗》系列电影 《夺宝奇兵》系列电影时间线 《侏罗纪公园》系列电影时间线 《终结者》系列电影时间线 华为禁止用户从外部手动安装安卓应用(APK文件) 《炉石传说》国服回归一片混乱 官媒辟谣苹果手机被远程引爆 小米回应摄像头里出现陌生男子说话 环球人物:民族大义不是流量密码,盲目排外没有土壤 《异形》系列电影时间线 看完IMDb250后的体验 暴雪《炉石传说》国服开启预约 网易DD参与代打《魔兽世界》事件的深入分析 福建男子四年前“翻墙”浏览境外网站被行政处罚 《魔兽世界》正式服开服两周游戏体验 暴雪游戏足迹查询:查看暴雪游戏的数据 用AI分析你的推特社交网络数据 胡锡进停更三个月 国家网络身份认证公共服务管理办法向社会公开征求意见 苹果将部分产能转回中国 Windows全球大范围蓝屏 电影《V字仇杀队》影评 微软中国员工禁用安卓手机:只能用iPhone 《魔兽世界》怀旧服“巫妖王之怒”游戏体验 百度旗下萝卜快跑已在多个城市开放载人测试 我为什么不喜欢华为这家企业 胡锡进:强烈谴责苏州袭击日本人的凶手 20美元在美国超市的购买力 华为紧急辟谣“是国内最大的牛肉进口商” 苹果公司公布2024年Apple设计大奖获奖名单 自动生成电影剧本:人工智能技术的崭新里程碑 电影《芳华》人物分析 Steam账号被盗号的解决方法 中文互联网内容正在逐步消失 马斯克:推特域名已全部转移到X
浏览器内核WebKit编年史
雷锋 · 2011-08-06 · via 月光博客

回首六年前,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

中文翻译:雷锋网编译。

浏览器内核WebKit编年史