开发者社区> 华章计算机> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

《深入理解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,试问尚有谁再可与之争锋呢?

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
通过howler.js实现在Android下的微信浏览器自动播放音频
通过howler.js实现在Android下的微信浏览器自动播放音频
0 0
口碑爆棚!这款浏览器终于安卓版了
如果对每天电脑上各款软件的使用时间进行一下统计,会发现浏览器绝对能够名列前3名。
0 0
Android在项目中接入腾讯TBS浏览器WebView的教程及注意事项
Android在项目中接入腾讯TBS浏览器WebView的教程及注意事项
0 0
Fundebug前端异常监控插件兼容低版本的Android浏览器
Fundebug前端BUG监控服务 Fundebug是专业的程序BUG监控平台,我们JavaScript插件可以提供全方位的BUG监控,可以帮助开发者第一时间定位JavaScript执行错误、HTTP请求错误以及资源加载错误。
892 0
【Android Web】腾讯X5浏览器的集成与常见问题
近年来,混合开发也越来越用的更多,而原生webview的各种坑,比如说 上传图片、文件问题、视频全屏问题(什么在微信上打开都是好的,你这怎么全屏不了)、版本差异问题,所以还是建议使用腾讯x5浏览器。
1070 0
Android使用TBS浏览器加载pdf等文件
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qingfeng812/article/details/79077350 项目结构 技术方案 TBS的其它优点,可以自行搜索网上其它资料,很多。
1267 0
文章
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
Android组件化实现
立即下载
蚂蚁聚宝Android秒级编译—— Freeline
立即下载
Android插件化:从入门到放弃
立即下载