哥解读:这是一篇神奇的文章,你可以了解浏览器内核,同时可以感受Mozilla的倔强,IE的恐惧,Opera无可奈何下的不甘心,感受到了Safari在他的家族培养下一定会更加优秀以及Chrome这位技术先锋的美好前景。
当我在查阅每个浏览器的发展过程时,我感受到了Mozilla的倔强,IE的恐惧,Opera无可奈何下的不甘心,感受到了Safari在他的家族培养下一定会更加优秀以及Chrome这位技术先锋的美好前景。balabala………了一大堆,没办法,因为我是妹子,所以就爱关心“邻里之间的杂事”~Piu——切入正题。
浏览器的主要组件有以下几部分:
用户界面
除了用来显示浏览器主窗口之外的浏览器的其他部分,例如书签目录,地址栏,前进后退……。
浏览器引擎
这里说,浏览器引擎是查询及操作渲染引擎的接口。我在网上搜的时候也大都是默认为渲染引擎。
渲染引擎
用来显示请求的内容,如果请求内容为html,那么负责解析html、及css并将解释后的结果显示出来。还可以解析xml文件。
js引擎
用来解释执行js代码。
网络
用来完成网络调用,如http请求。
Native UI
用来绘制类似组合选择框及对话框等基本组件,具有不特定于某个平台的通用接口,底层使用操作系统的用户接口。
数据存储
属于持久层,浏览器需要在硬盘中保存类似cookie的各种数据。
平常大家讨论最热闹的就是浏览器内核,因为它关乎到我们前端工程师们所设计的界面是否如我们心中的模样展示在各个浏览器中。
虽然现在我们知道的浏览器有很多,除了上篇文章介绍的5大主浏览器,还有许多国产浏览器,例如360,遨游,世界之窗,UC,搜搜……,虽然浏览器厂家很多,但是这些浏览器会各自选择适合自己的开源内核。
我知道的浏览器内核:
Trident
是Windows搭载的网页浏览器即IE的内核。1997年在IE4中使用。
1993年,NCSA将Mosaic的商业运营权转售给了Spyglass公司。
最早的IE1(1994年)版本号为4.40.308,因为当时微软还没有买下Spyglass Mosaic的源码,到了IE2和IE3,微软同时注明了版本2(4.40.516)和版本3(4.70.1158),表明IE即将成为微软专属软件。直到IE4成为微软专属软件。它采用的排版引擎(俗称内核)为Trident。
IE6、IE7、IE8(Trident 4.0)、IE9(Trident 5.0)、IE10(Trident 6.0)
实际上是一款开放的内核,其接口内核设计的相当成熟,因此才有许多采用IE内核而非IE的浏览器涌现。此外,为了方便也有很多人直接简称其为IE内核。
猎豹安全浏览器(1.0-4.2版本为Trident+Webkit,4.3版本为Trident+Blink)
360安全浏览器(1.0-5.0为Trident,6.0为Trident+Webkit,7.0为Trident+Blink)
360极速浏览器(7.5之前为Trident+Webkit,7.5为Trident+Blink)
傲游浏览器(傲游1.x、2.x为IE内核,3.x为IE与Webkit双核)
百度浏览器(早期版本)
世界之窗浏览器[2] (最初为IE内核,2013年采用Chrome+IE内核)
2345浏览器、腾讯TT、淘宝浏览器
搜狗高速浏览器(1.x为Trident,2.0及以后版本为Trident+Webkit)
阿云浏览器(早期版本)、瑞星安全浏览器
闪游浏览器、海豚浏览器(iPhone/iPad/Android)
UC浏览器(Blink内核+Trident内核)
其中一个内核是Trident,然后再增加一个其他内核。国内的厂商一般把其他内核叫做“高速浏览模式”,而Trident则是“兼容浏览模式”
Gecko
是Netscape6开始采用的内核,后来的Mozilla FireFox也采用了该内核,Gecko的特点是代码完全公开,是个开源内核,因此受到许多人的青睐。
事实上,Gecko引擎的由来跟IE不无关系
前面说过IE没有使用W3C的标准,这导致了微软内部一些开发人员的不满;网景解散后,他们与当时已经停止更新了的Netscape的一些员工一起创办了Mozilla。
以当时的Mosaic内核为基础重新编写内核,于是开发出了Gecko。
补充:JavaScript引擎是SpiderMonkey。
结果,网景6.0(trident 1.0)在2000年11月才被正式发布。
这二者均是在Mosaic内核的基础上重新编写内核。
KHTML及KJS
khtml为排版引擎即渲染引擎,kjs为js引擎。均是由KDE研发。是自由软件,符合GPL(由他为基础开发的软件也为开源软件)。
Webkit
包括webcore排版引擎与JavaScriptCore解析引擎,均是苹果从KDE的KHTML及KJS引擎衍生而来。是苹果公司自己的内核,也是Safari浏览器使用的内核,但是符合GPL条款,所以webkit为开源的,但是Safari浏览器为部分开源,自己公司的某些接口未对外开源。在Chrome 28之前,google使用webkit中webcore与自己的javascript V8引擎。那时也统称为webkit引擎。
Blink
由Google和Opera Software开发的浏览器排版引擎。至于js引擎,想必Chrome依旧使用自己的V8引擎。
在2013年4月,Google计划将这个渲染引擎作为Chromium计划的一部分。这一渲染引擎是开源引擎WebKit中WebCore组件的一个分支。并且在Chrome(28及往后版本)、Opera(15及往后版本)中使用。此举,谷歌称称将与苹果的开源浏览器核心Webkit分道扬镳。
Presto
是Opera12.10至Opera7中采用的内核,现已停止开发并废弃,由于这是商业引擎(非开源),所以在发展上有了限制。这篇里面,我有写到,在Opera12.10版本以后使用Blink作为其内核。
Mozilla与三星也达成合作协议开发“下一代”浏览器渲染引擎Servo。
未来会是怎样的内核布局,又会有多少优胜劣汰。
我查了这么多资料后,觉得技术开源,不断创新,不要因为一点成就,一时的市场份额,而得意忘形,停止步伐。
人们对产品的体验没有最好,只有更好。
原文作者:Miss---Du ; 转载自:简书
览器在PC时代占据着众多流量的入口,也成为互联网大佬们的必争之地,如今移动端的迅速发展,各种APP层出不穷,逐步吞噬物联网流量的入口,成为百家齐放的景象。有踏着正确的步伐,每个时间点都踩到极致的“T”,推出We chat占据移动端半壁江山,也有慢慢掉队的“B”,后知后觉,才推出移动,最近还被有关单位约去喝茶了。额,扯远了,我们还是来聊聊今天的主角浏览器。
科普时间,纵观全球,浏览器也就只有四个内核
一、Trident:我们熟知的Microsoft的亲儿子IE浏览器,傍着自己是个富二代,一开始就制定了一套网页标准,但并不准,从诞生就开始毒打我们前端工程师,老板丢一句话要从IE6开始适配到最新版,呵呵,就这样头发开始慢慢飘落。目前最新的Windows系统除了自带IE(慢慢的跟上了标准)以外还带了一款Edge的浏览器,查了一下原来用的是Chromium 内核。
二、Webkit:它是一个开源的浏览器引擎,同样也有个富爸爸Apple,所有Apple 生态系统自带Safari 浏览器。2006年Google在这基础上开发了属于自己的Blink 内核的Chromium浏览器,由于响应极快,稳定且兼容性高,插件异常丰富,2008年9月2号Chrome浏览器面世(作者使用率最高的浏览器)。发布后市场份额约为0.3%, 到目前全平台份额高达62%,取得这样的成绩,除了Google本身对技术极高的追求外,当然少不了Android系统成功的因素。
三、Gecko:Firefox 浏览器使用的内核,是功能最强大的浏览器,各种接口、各种插件,而且调试JavaScript代码非常优秀,是前端开发工程师最喜欢的浏览器。由于功能强大,当然消耗的资源也就多。
四、Presto:Opera 浏览器使用的内核,在1995年挪威Opera Software ASA公司研发了Presto内核,并发布了Opera浏览器,之后发展一路高歌,一度成为顶级的浏览器。随着移动互联网的到来,Opera没能拿到上船门票,在2016年被国内资本收购,渐渐的也被玩坏了。
2020年4月各平台浏览器份额 包含电脑端、平板端、手机端 - From Statcounter
科普完,我们再来看看国内的情况,根据这四大内核,国内的大厂们就开始表演了。
? 360浏览器、猎豹、2345浏览器内核:IE + Chromium双内核
? 搜狗、遨游、QQ浏览器内核:Trident(兼容模式)+ Webkit(高速模式)
? 百度、世界之窗浏览器内核:IE内核;
? UC浏览器内核: Webkit
国内的浏览器就两大特点,第一点特能吹,第二点请参考第一点。2018年的红芯浏览器,打着国产自主研发、世界第五内核的爱国旗号博眼球,最后被啪、啪、啪的打脸,永远要相信,技术这玩意容不得半点假。国内的大部分浏览器都是换下皮肤,然后标榜自己是最安全的、最稳定的、最快的,然后就去抢占流量入口,当然这也没什么不好,越多人竞争的领域技术进步也是最快的。
为了不给别人掐脖子,大家都提倡自主创新,浏览器内核我们就真的没办法自己弄么,技术难度有多高?这倒是没有什么新的技术要去突破的,但从最底层开始搭建,要花费大量的人力和财力,技术需要不断迭代,到最后即使开发成功,顶多也只能是市场的一个边缘产品。所以大厂们根本不会对其进行任何的投资。
拥有内核的浏览器 - Chrome和Safari最底层都是Webkit
内核我们没有什么必要去做了,但站在巨人的肩膀上,我们可以有非常大的发展空间。利用这些开源的内核,我们可以制作出更人性化和差异化的产品,把用户体验放在首位,不断创新,希望能在世界的舞台有一席之地。当然我们也有弯道超车的机会,比如未来可能会出现 AI浏览器、区块链浏览器、6G浏览器等等。不管怎么样,奔涌吧,后浪。
百花齐放的浏览器市场 - From Google Play
0月13日,UC在2017云栖大会的UC开放服务专场上正式发布全新U4内核2.0版本。新版U4内核除了在引擎速度、架构渲染等方面得到提升外,能够完整支持最新的PWA技术,并在国内首次提供标准Web推送服务。
据悉,U4内核2.0版本具有以下4大特点:
一、极速引擎,采用全新的V8引擎,在U4 1.0的基础上,性能继续提高10%,重新打开网页的速度提高10%-20%;
二、全新的渲染架构,新的Passive Event Listener、Intersection Observer等能力赋予H5页面更加流畅的操作体验;
三、标准领先,新内核支持最新的PWA技术以及其他最新的H5、JS、CSS标准,并在国内首次提供标准Web推送服务;
四、创新扩展,推出业界效率最高的Web AR技术,兼顾Native的体验和H5的高效率,还有其他更多的创新扩展值得期待。
据阿里巴巴文化娱乐集团 UC 内核负责人李英各介绍,从去年 U4内核1.0版本发布到今年U4内核2.0版本,新版本的升级除了完整支持最新的PWA,还在运行效率、开发效率、体验增强三个方面有重要变化。这些变化体现出UC服务好开发者,赋能 B 端的愿景。
图为阿里巴巴文化娱乐集团 UC 内核负责人李英各
U4 内核2.0版本已与手机淘宝、手机天猫展开合作。接下来U4内核 2.0版本还计划于11月进军海外,并将与支付宝开展合作。
U4内核2.0版本全面支持PWA、WebAR扩展能力
据阿里巴巴文化娱乐集团前端技术专家林子杰介绍,U4内核2.0版本功能、性能上均有明显整体提升——功能更多、性能更强。
图为阿里巴巴文化娱乐集团前端技术专家林子杰
功能方面,新版本全面支持PWA、WebAR扩展能力,更多ES标准支持,实现WebAssembly技术,并支持更多CSS特性,同时支持HTTP/2,QUIC等最新网络协议。
性能方面,该版本WebGL兼容性优化及性能均有提升。新版将深度优化Code Cache及v8引擎,支持更多性能API和支持WDPS。
与此同时,值得关注的是,对比U4 1.0,U4内核2.0版本显示出运行效率、开发效率、体验增强方面的新特性。
运行效率方面,U4内核2.0版本在JS引擎方面整体提升,通过对U4 1.0与2.0版本的测试对比,U4 2.0版本在WebGL的帧率得到不错收益,支持更多的互动娱乐场景。此外,在 AR/VR 这些新技术领域,UC 内核团队始终保持关注,通过新技术与Web的结合,开发出更多贴近用户的Web应用。
开发效率方面,CSS新特性可结合fr单位,解决一些flexbox 布局无法准确计算的问题,有效减少重绘重排的影响。
体验增强方面,U4内核2.0版本是国内首家支持Web Push的浏览器内核,可实现UC Android端完整支持, UC iOS 研发团队已经实现 PWA 的部分特性并在业务成功落地。同时,该版本还将通过自研的开发者工具,帮助开发者提高页面质量与稳定性,比如获取页面性能体验数据、通过自动化测试的手段评估页面性能体验。
让Web无所不能,U4内核接入手机淘宝、支付宝
阿里巴巴文化娱乐集团 UC 内核负责人李英各在UC开放服务专场上回顾了U4内核2.0升级背景,并表示U4内核对用户价值的追求是其打造更多功能、更强性能的驱动力。
阿里巴巴文化娱乐集团前端技术专家林子杰表示:为C端用户,U4内核2.0版本可提供丰富的内容,流畅的使用体验,并同时在业务功能、业务体验、获取用户、用户运营四方面赋能B端业务开发者;以卓越体验、优良性能、能力扩展、安全基础助力合作伙伴,为开发者提供平台工具检测,评估,建议等
自2004年发布全球首个云架构手机浏览器以来,UC秉持“服务地球一半人口”的愿景,始终致力于技术提升,不断优化用户移动上网体验,同时为合作伙伴持续创造价值。
以UC与手机淘宝、支付宝的合作为例,手机淘宝在接入UC内核技术后,H5场景的崩溃率大幅下降80%。支付宝全功能合作也在推进中。由于支付宝的相关H5产品数量占比逐渐提升,未来将面对更丰富的场景;由蚂蚁金服研发的Nebula需要U4内核流畅、稳定、安全且具有强大兼容性的webview内核技术为十亿用户提供更佳的使用体验。
阿里巴巴文化娱乐集团U4内核负责人李英各在UC开放服务专场上表示,U4内核愿景是让Web无所不能。成为国际一流,国内领先的Web平台服务提供商正是U4内核目标。
*请认真填写需求信息,我们会在24小时内与您取得联系。