认识HTML--浏览器的渲染内核 ---------16岁的小前端

认识浏览器的渲染内核,

这里我将按照三部分来循序渐进得了解到浏览器的渲染内核;

1. 浏览器

这个话题应该比较简单了吧;我来简单列举出几个用户比较多的;

还是分为两个部分,PC端移动端

              PC端的常用浏览器有:【IE】【谷歌浏览器】【火狐】【360浏览器】【safari】等

                                   

              移动端的常用浏览器有:【百度】【UC浏览器】【QQ浏览器】【safari】等

                             

 

那么这些浏览器是做什么的呢?

浏览器是一个上网的客户端,可以用来搜索网站;

浏览器是网页运行的平台;网页可以通过浏览器来呈现给用户;

2. 搜索引擎

在我们的进行搜索时大家有没有注意到这个事情

当我们搜索关键字【HTML】时他会将我现在页面中所有的内容都 变 成【HTML】相关的;不会有什么游戏啦,听歌啦等,这样的与我搜索的关键字无关的内容;

他是如何  变  的呢?

【搜索引擎】手下有一只蜘蛛,当你搜索内容时这只蜘蛛会以1至2秒的时间为你推荐出所有符合你想要内容的页面,并会同时为你找出最符合,界面最优的,活跃度度最高的等因素为你推荐至最前面;

目前我们不再做更深入的了解;

3. PC端浏览器的渲染引擎

浏览器的渲染引擎】也称【浏览器内核】;

仔细观察一下3款浏览器;有没有发现字体有差别?

这就是【浏览器的渲染引擎】在作怪;

浏览器的渲染引擎】的作用是将我们的HTML代码编译为网页上真实存在的内容

所以我之前提到的 对【电脑】说【我要做网页;实际上是不准确的;

应该是  对【浏览器的渲染引擎】说【我要做网页

因为我在代码中并没有给出我想要写的字的【样式】【粗细】等;所以说这些样式都是【浏览器的渲染引擎默认 给我加上去的;

那么这3种浏览器给出的字体都不太一样

我们可以得出一个结论:这三种浏览器的渲染引擎都不一样

那么不同的浏览器是不是都有不同渲染引擎呢不是的

渲染引擎核只有以下几种

渲染引擎名称开发公司/企业搭载该种渲染引擎的代表浏览器
Trident微软IE浏览器(4---11)

Gecko

火狐火狐浏览器/Firefox

Webkit

苹果Safari浏览器

Blink

【谷歌】【Opera/欧朋】【谷歌浏览器 】【Opera浏览器12.17及以下版本】

Presto           【废弃】

Opera/欧朋Opera浏览器12.17及以下版本

 

 

 

 

 

 

 

PC端【浏览器的渲染引擎】至【公元前2019年2月11日】加上废弃的    就5种   

而像PC端的【百度浏览器】【360浏览器】【qq浏览器】等等;都没有开发出自己的渲染引擎;他们的渲染引擎都是用的这5种的浏览器渲染引擎,自己只是对其浏览器的样式做改变;

号称双内核的【360浏览器】其实是装载了【(谷歌/欧朋)的Blink】和【(微软)的Trident】两个渲染引擎相互切换;

由于浏览器的渲染引擎的不同所呈现的效果也会有些差异,这种差异我们一般称之为【兼容性】;

终结一下:之所以浏览器的默认字体不同是因为【浏览器的渲染引擎不同】,也称为【渲染引擎的兼容性问题】;

4. 移动端浏览器的渲染引擎

手机端的【浏览器的渲染引擎】至【公元前2019年2月11日】完全自主开发的只有   Webkit

其他的例如像【UC浏览器】的u3内核,【华为天天浏览器】的T9内核;【QQ浏览器】的X5内核等;都是基于webkit进行的二次开发的;但也取得了不错的效果;

 

 

 

 

                                                                  ------------------------------16岁的小前端

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

          

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
miniblink是什么?Miniblink是一个追求极致小巧的浏览器内核项目,全世界第三大流行的浏览器内核控件。其基于chromium最新版内核,去除了chromium所有多余的部件,只保留最基本的排版引擎blink。Miniblink保持了10M左右的极简大小,是所有同类产品最小的体积,同时支持windows xp、npapi。为什么要做miniblink?市面上作为嵌入的组件的可用的浏览器内核,不外乎这几个:webkit、cef、nwjs、electron。cef:优点是由于集成的chromium内核,所以对H5支持的很全,同时因为使用的人也多,各种教程、示例,资源很多。但缺点很明显,太大了。最新的cef已经夸张到了100多M,还要带一堆的文件。同时新的cef已经不支持xp了(chromium对应版本是M49)。而且由于是多进程架构,对资源的消耗也很夸张。如果只是想做个小软件,一坨文件需要带上、超大的安装包,显然不能忍受。nwjs,或者最近大火的electron:和cef内核类似,都是chromium内核。缺点和cef一模一样。优点是由于可以使用nodejs的资源,同时又自带了各种api的绑定,所以可以用的周边资源非常丰富;而基于js的开发方案,使得前端很容易上手。所以最近N多项目都是基于nwjs或electron来实现。例如vscode,atom等等。原版webkit:现在官网还在更新windows port,但显然漫不在心,而且最新的webkit也很大了,超过20几M。最关键的是,周边资源很少,几乎没人再基于webkit来做开发。同时由于windows版的saferi已经停止开发了,所以用webkit就用不了他的dev tools了。这是个大遗憾。WKE:这是个很老的webkit内核的裁剪版了。小是小,但bug太多了。那么关键点来了,使用miniblink有啥好处呢??首先,miniblink对大小要求非常严格。原版chromium、blink里对排版渲染没啥大用的如音视频全都被砍了,只专注于网页的排版和渲染。甚至为了裁剪大小,我不惜使用vc6的crt来跑mininblink(见我上篇文章)。这个也算前无古人后无来者了。其次,miniblink紧跟最新chromium,这意味着chromium相关的资源都可以利用。在未来的规划里,我是打算把electron的接口也加上的,这样可以无缝替换electron。使用miniblink的话,开发调试时用原版electron,发布的时候再替换掉那些dll,直接可以无缝切换,非常方便。miniblink如何使用?Miniblink导出了electron、WKE的接口,可以直接无缝替换现有的electron、WKE项目。早期miniblink还导出了CEF接口,不过现在已被废弃。miniblink有个小demo,从demo里可以看到,brackct这个基于cef的开源编辑器,已经顺利由miniblink跑起来了。现在electron的接口已做好,vscode跑起来了。更详细的使用文档见本页其他文章。miniblink如何裁剪到这么小?这个比较复杂了。主要就是把blink从chromium抽离了出来,同时补上了cc层(硬件渲染层)。现在的blink,已经不是当年的那个webkit了,渲染部分全走cc层,复杂无比。我这大半年都在重写他那个蛋疼又复杂的cc层。和webkit比,miniblink架构有什么优势现在的webkit版本,已经比miniblink落后太多了。blink一直在加入各种极富创造力和想象力的功能、组件。例如,blink早就加入多线程解析html token、blink gc回收器、多线程录制回放渲染机制。这些能让blink的解析渲染速度极大提升。下一次,我会先开源出blink gc组件,这东西很有意思,在c 里硬是搞出了一个垃圾回收机制,能让你像写java一样写c 。
miniblink是什么? Miniblink是一个追求极致小巧的浏览器内核项目,全世界第三大流行的浏览器内核控件。 其基于chromium最新版内核,去除了chromium所有多余的部件,只保留最基本的排版引擎blink。 Miniblink保持了10M左右的极简大小,是所有同类产品最小的体积,同时支持windows xp、npapi。 为什么要做miniblink? 市面上作为嵌入的组件的可用的浏览器内核,不外乎这几个:webkit、cef、nwjs、electron。 cef:优点是由于集成的chromium内核,所以对H5支持的很全,同时因为使用的人也多,各种教程、示例,资源很多。但缺点很明显,太大了。最新的cef已经夸张到了100多M,还要带一堆的文件。同时新的cef已经不支持xp了(chromium对应版本是M49)。而且由于是多进程架构,对资源的消耗也很夸张。如果只是想做个小软件,一坨文件需要带上、超大的安装包,显然不能忍受。 nwjs,或者最近大火的electron:和cef内核类似,都是chromium内核。缺点和cef一模一样。优点是由于可以使用nodejs的资源,同时又自带了各种api的绑定,所以可以用的周边资源非常丰富;而基于js的开发方案,使得前端很容易上手。所以最近N多项目都是基于nwjs或electron来实现。例如vscode,atom等等。 原版webkit:现在官网还在更新windows port,但显然漫不在心,而且最新的webkit也很大了,超过20几M。最关键的是,周边资源很少,几乎没人再基于webkit来做开发。同时由于windows版的saferi已经停止开发了,所以用webkit就用不了他的dev tools了。这是个大遗憾。 WKE:这是个很老的webkit内核的裁剪版了。小是小,但bug太多了。 那么关键点来了,使用miniblink有啥好处呢?? 首先,miniblink对大小要求非常严格。原版chromium、blink里对排版渲染没啥大用的如音视频全都被砍了,只专注于网页的排版和渲染。甚至为了裁剪大小,我不惜使用vc6的crt来跑mininblink(见我上篇文章)。这个也算前无古人后无来者了。 其次,miniblink紧跟最新chromium,这意味着chromium相关的资源都可以利用。在未来的规划里,我是打算把electron的接口也加上的,这样可以无缝替换electron。使用miniblink的话,开发调试时用原版electron,发布的时候再替换掉那些dll,直接可以无缝切换,非常方便。 miniblink如何使用? Miniblink导出了electron、WKE的接口,可以直接无缝替换现有的electron、WKE项目。 早期miniblink还导出了CEF接口,不过现在已被废弃。 miniblink有个小demo,从demo里可以看到,brackct这个基于cef的开源编辑器,已经顺利由miniblink跑起来了。现在electron的接口已做好,vscode跑起来了。 更详细的使用文档见本页其他文章。 miniblink如何裁剪到这么小? 这个比较复杂了。主要就是把blink从chromium抽离了出来,同时补上了cc层(硬件渲染层)。现在的blink,已经不是当年的那个webkit了,渲染部分全走cc层,复杂无比。我这大半年都在重写他那个蛋疼又复杂的cc层。 和webkit比,miniblink架构有什么优势 现在的webkit版本,已经比miniblink落后太多了。blink一直在加入各种极富创造力和想象力的功能、组件。例如,blink早就加入多线程解析html token、blink gc回收器、多线程录制回放渲染机制。这些能让blink的解析渲染速度极大提升。下一次,我会先开源出blink gc组件,这东西很有意思,在c++里硬是搞出了一个垃圾回收机制,能让你像写java一样写c++。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值