《深入理解Android》一2.2 浏览器和WebKit简史

简介:

本节书摘来自华章出版社《深入理解Android》一书中的第2章,第2.2节,作者孟德国 王耀龙 周金利 黎欢,更多章节内容可以访问云栖社区“华章计算机”公众号查看

2.2 浏览器和WebKit简史

和HTML标准相伴至今,浏览器从无到有,从简单到复杂,经历了许多变化,内容越发丰富,功能日益强大。
第一个浏览器也是由World Wide Web发明人Tim Berners-Lee于1990年发明,恰好最开始它的名字就叫World Wide Web,后来为避免浏览器软件与万维网技术重名而改称Nexus。第一个易于使用并大规模流行的浏览器是Marc Andreesen于1993年发明的Mosaic,他又成立了网景公司,在1994年推出了赫赫有名的Netscape Navigator浏览器。微软在互联网争夺战中后发制人,在Internet Explorer浏览器免费绑定进Windows 95系统,最终赢得了第一次浏览器世界大战。至2000年初,因Windows 98、Windows XP和IE 5.0、6.0等一系列产品的成功发布,微软在浏览器市场份额上的垄断地位业已形成。
1998年,网景公司成立了Mozilla组织,正式将其浏览器代码开源,成为Open Source和浏览器发展史上又一重要里程碑。Mozilla几经磨炼,于2004年又成功推出了拥有多标签浏览、Add-On扩展等特色功能的Firefox浏览器,一时风靡世界,从IE手中又夺回了不少市场份额,拉开了第二次浏览器世界大战的序幕。
2003年以后,随着苹果公司的王者归来和Google的快速崛起,浏览器和整个IT界都发生了深刻而不可逆转的变化。苹果公司Mac OS和iOS操作系统开发的Safari浏览器最终借鉴采纳了KDE桌面KHTML排版引擎,并组织成立了WebKit开源项目和基金会,强有力地推动了浏览器排版引擎的发展。靠搜索引擎起家的互联网世界霸主Google在2008年也终于把触角伸向了Web客户端,重磅发布了基于WebKit引擎开发的Chrome浏览器。自此浏览器战场上群雄纷起、金花齐放,各自凭依操作系统平台,形成了一定的战略均衡态势。
当前全球范围内使用最广的浏览器有Google Chrome、Mozilla Firefox、Internet Explorer、Opera和Safari,其中Firefox、Safari和Chrome这三大开源引擎浏览器总共占据了超过50%的市场份额。除了这些支持完整W3C HTML标准的全功能浏览器之外,还有在Linux等系统中被小范围使用的命令行文字界面浏览器,如Lynx、Links、W3m等。图2-13用时间轴的形式展示了部分主流浏览器的发展史。
早期浏览器的排版引擎并未被设计成独立模块,而是与浏览器的其他部分代码紧耦合成一个整体。Mozilla将其排版引擎Gecko作为标准模块单独发布后得到了广泛使用,诸多浏览器开发商如Maxthon、Flock、Lunascape等开始采用Gecko引擎作为浏览内核,并且一些非浏览器应用如Mozilla Thunderbird也基于其开发。目前功能完备的排版引擎分别是:Trident(应用于Internet Explorer)、Gecko(应用于Mozilla Firefox)、Presto(应用于Opera,计划被WebKit替代)、WebKit(应用于Apple Safari和Google Chrome)。

image

简述完浏览器的众家族史之后,我们来看看本书主角WebKit的前世今生。
WebKit是一个开源的浏览器排版引擎,官方网址是http://www.webkit.org,其起源最早可追溯到始于1998年的KDE开源桌面环境项目的HTML Widget,作者为Torben Weis和Martin Jones。后来进一步发展为KDE的标准组件、KHTML排版引擎和KJS JavaScript脚本引擎。苹果公司为开发自主的Safari浏览器,在对比了Gecko和KHTML之后,毅然选择了后者。原因是相比Gecko的庞大臃肿,KHTML更加轻巧和清晰。苹果公司将KHTML更名为WebCore,KJS更名为JavaScriptCore,两者合起来作为WebKit。为了平息与KDE社区的纷争,吸引更多的开发者和开源社区的力量,苹果公司成立了WebKit开源项目。
一直以来,PC浏览器基本上是IE和Mozilla的天下,排版引擎非Trident即Gecko,第三方采用Opera Trident的情况极少。IE背靠Windows的垄断地位长期称霸而不思进取,IE 6之后多年未曾更新,Mozilla Firefox的市场份额则增至20%左右后缓滞不前。2008年9月,谷歌公司重磅推出了基于WebKit内核的Chrome浏览器,从此风云突变,三国大战再起。异军突起的搅局者Chrome促成了浏览器技术的持续发展,时至今日已是天下三分。WebKit也因此逐渐转入更多开发者的视界,影响力和知名度与日俱增。
自2007年苹果公司发布iPhone以来,智能手机和移动互联网领域产生了革命性的爆发式增长,WebKit也随之迎来了又一个腾飞的新契机。在两大主流移动智能操作系统iOS和Android上,默认的浏览器内核都是WebKit,而且分别以Framework的方式推出了UIWebKit和WebView组件,使得第三方开发者可以据此构建自己的浏览器或使用Web技术展现内容的各种复杂应用。iOS和Android双峰对峙,在确立了移动生态系统牢不可破的垄断地位,伴随而来的结果就是移动平台上的浏览内核基本上全是WebKit。
当前WebKit在各操作系统平台上总的市场份额高达40%,大幅超越Trident和Gecko位居第一。老牌的Opera浏览器已经痛下决心当机立断,宣布在下一个版本中抛弃自主的Presto引擎,转而采用WebKit作为内核。
主流排版引擎都经历过长达十几年的发展,WebKit在其中只能算作一个后起的新兴之秀,但无论功能、性能、成熟度、兼容性还是市场份额,WebKit都完全不输于那些老牌产品,甚至有很多方面明显胜出。从表2-1对主流排版引擎在HTML 5、JS性能、CSS3等多方面的评测中可以看出,WebKit引擎十分优秀,拥有强大的竞争力和吸引力。
image

 Performance和Feature结果既依赖于排版引擎也依赖于浏览器外壳,而这两者的版本都是不断升级更新的。因此表2-1的对比评测只能作为参考结果,和迅猛发展的各浏览器实际表现会有一定出入,更多详细的最新测试结果可从Acid3、CSS3Test、HTML5Test、PeaceKeeper、Karen、Dromaeo等专业测试网站和其他科技网站上看到。总的来说,以WebKit/Blink为内核的Chrome浏览器在诸多性能评测中基本上会囊括各项冠军,同时其他浏览器尾随其后也在不断努力追赶。
从最初的弱小嫩苗到今日的苍天大树,WebKit已经走过了近15年的历史。回顾其迅猛的发展历程和如今日益普及的现状,展望未来,我们完全有理由相信,WebKit/Blink最终将成为排版引擎中的Unix/Linux,被业界当作事实上的标准实现。至少在开源引擎中,Presto已将星陨落,仅存的硕果竞品Gecko发展前景和势头已经明显不如WebKit,试问尚有谁再可与之争锋呢?

相关文章
|
2月前
|
Web App开发 小程序 前端开发
【产品上新】小程序新内核来了!提升安卓浏览器性能,支持WebRTC
【产品上新】小程序新内核来了!提升安卓浏览器性能,支持WebRTC
38 0
|
12月前
|
Shell Android开发
Android10.0(Q) 默认应用设置(电话、短信、浏览器、主屏幕应用)
Android10.0(Q) 默认应用设置(电话、短信、浏览器、主屏幕应用)
620 0
|
9月前
|
数据采集 缓存 前端开发
漏刻有时数据可视化大屏常见问题(4)手机端数据采集ajax安卓手机安卓微信浏览器无法跳转的问题解决方案
漏刻有时数据可视化大屏常见问题(4)手机端数据采集ajax安卓手机安卓微信浏览器无法跳转的问题解决方案
78 0
|
12月前
|
Web App开发 存储 Java
android11.0(R) 谷歌浏览器去除短信分享功能
android11.0(R) 谷歌浏览器去除短信分享功能
144 0
|
安全 Android开发
android 浏览器 该网站的安全证书有问题
android 浏览器 该网站的安全证书有问题
208 0
|
移动开发 JavaScript Android开发
通过howler.js实现在Android下的微信浏览器自动播放音频
通过howler.js实现在Android下的微信浏览器自动播放音频
399 0
通过howler.js实现在Android下的微信浏览器自动播放音频
|
JavaScript Android开发 iOS开发
兼容安卓和ios的手机端浏览器返回和物理返回的监听处理操作实战(推荐)
兼容安卓和ios的手机端浏览器返回和物理返回的监听处理操作实战(推荐)
265 0
兼容安卓和ios的手机端浏览器返回和物理返回的监听处理操作实战(推荐)
|
Android开发 iOS开发
关于监听微信浏览器返回按钮事件处理安卓IOS通用
关于监听微信浏览器返回按钮事件处理安卓IOS通用
278 0
关于监听微信浏览器返回按钮事件处理安卓IOS通用
|
Web App开发 前端开发 JavaScript
WebKit 官宣 Safari 16 Beta 版 Web 新功能!开发者“你在强迫让 iOS 浏览器都用 Safari ?”
WebKit 官宣 Safari 16 Beta 版 Web 新功能!开发者“你在强迫让 iOS 浏览器都用 Safari ?”
318 0
WebKit 官宣 Safari 16 Beta 版 Web 新功能!开发者“你在强迫让 iOS 浏览器都用 Safari ?”
|
Web App开发 安全 iOS开发
Safari 被吐槽“太糟糕像新 IE”,苹果浏览器、WebKit 团队“连夜”征求反馈意见
Safari 被吐槽“太糟糕像新 IE”,苹果浏览器、WebKit 团队“连夜”征求反馈意见
102 0
Safari 被吐槽“太糟糕像新 IE”,苹果浏览器、WebKit 团队“连夜”征求反馈意见