WebKit是一个开源的浏览器引擎,其优点是高效稳定、兼容性好、且源码结构清晰、易于维护。在苹果将WebKit应用于Mac OS X上的Safari之后,Webkit很快被广泛地移植到其他系统平台:
iOS:2007年,iPhone上市,WebKit进入iOS平台。
Android:从第一款Android手机开始,内置的浏览器一直使用WebKit引擎。
Symbian S60:Nokia将WebKit移植到Symbian S60操作系统中,并开发了基于Webkit的手机浏览器“Web browser for S60”,目前仍在使用。
由于搭载iOS和Android系统智能手机称霸全球手机市场,苹果和Google也因此成为WebKit最大的推动者,并促使其成为目前最大的浏览器引擎。
分歧的产生
早期的WebKit架构比较简单,在API层不支持多进程,因此无法发挥多核CPU的硬件性能。为此,苹果进行了扩展,提出了新一代架构WebKit2,同时,Google的跨平台浏览器Chromium也基于原来的WebKit提出了自己的Chromium沙箱架构,两者不兼容。
但是由于苹果在这个开源系统中有更多的话语权,因此Google只好被动接受,使用移植的方式来实现和主线WebKit2的对接,这增加了Chromium的复杂性,也影响了Chromium的架构移植工作。
显然,浏览器对Google的重要性远胜于苹果,在自己的核心领域绝不能受制于人,因此Google决定利用WebKit的成果,开发自己的Blink引擎。
2013年4月,Google宣布将为Chrome浏览器开发新的自主渲染引擎Blink,与WebKit分道扬镳,在未来10周内用Blink取代旗下所有平台的现有浏览器渲染引擎。随后Opera宣称将追随Google,放弃WebKit支持Blink浏览器引擎。
Google进展速度很快
Google的策略很简单,先做减法,再做加法。
Google已经公开表示,在最初阶段Blink不会进行太大调整,但将很快从WebKit代码库中删除7个软件包和7000个文件。5月份的Google I/O大会上的最新信息显示,他们的团队已经从 Webkit 中拉取了 880 万行臃肿代码,其中的 450 万行被当即废止。目前Google同时保留着Blink和WebKit两个开发团队,这两个团队都在着手剔除那些觉得不必要的功能。这种策略确保了WebKit开发者有一个平稳的过渡期,慢慢适应新的API变化。
此外,Google 开放网络平台团队产品经理 Alex Komoroske 在 Google I/O 大会上对外透露,他们的团队已经有时间探索新的渲染技术,并与 Adobe 等公司展开合作。
谁会成为新的老大?
目前移动端浏览器大都基于WebKit渲染引擎,因此第三方WebKit开发者将面临一个艰难的抉择:支持苹果的WebKit2还是Blink?
首先,Google自有WebKit开发者转向Blink的概率很大;其次,Opera、Adobe的助阵也会坚定部分开发者的信心;再次,没有了Google参与的WebKit2将完全由苹果主导,而苹果一贯强势的风格是不会向开发者让步的。这样算来,Google在推出Blink之初,就已经拥有半数以上的开发者。
在Google Android和Opera Mini的合力下, 共同挑战苹果Safari并非难事,Blink极有可能取代WebKit江湖老大的地位。
Blink不开源怎么办?
目前Google的表态是开源的, Blink刚刚诞生,本身架构还不完善,需要多方合作(Opera,Adobe),也需要广大开发者的支持,另外,竞争对手WebKit2是开源的,因此,短时间内它不会闭源。但后续是否走上闭源,还不清楚。
即使它闭源,面向应用的API肯定也是开放的。正如Trident(IE内核)一样,尽管它是闭源的,我们依然可以看到很多优秀的浏览器(360浏览器、傲游、QQ浏览器)都是基于它开发的。