• 浏览器内核


    浏览器内核——最核心部分 Rendering Engine 渲染引擎(也成为排版引擎或解析引擎) + JS引擎。
    渲染引擎 负责取得网页的内容(HTML、XML、图像等等)、整理讯息(例如加入 CSS 等),以及计算网页的显示方式,然后会输出至显示器或打印机。浏览器的内核的不同对于网页的语法解释会有不同,所以渲染的效果也不相同。。渲染引擎决定了浏览器如何显示网页内容及页面格式信息,不同的浏览器内核对网页编写语法的解析不同,因此同一网页在不同内核的浏览器下显示的效果可能不同。这也就是开发者需要兼容不同内核浏览器网页显示的原因。
    JS引擎  负责对js的渲染,一个js引擎的好坏决定了浏览器对脚本的加载和执行速度,也就影响了其跑分。
     
    一、常见的渲染引擎
    —— Trident 、 Gecko、 WebKit、Chromium/Blink、Presto
    1、Trident  ['traɪd(ə)nt]  (IE内核)
    该内核在1997年的IE4中首次被采用,一直沿用的IE11,因此该内核也普遍被称为IE内核。Win10发布后,IE 将其内置浏览器命名为Edge,采用新内核Edge HTML
    2、Gecko   ['ɡekoʊ]
    Netscape6启用的内核,后来Mozila Firefox 也采用该内核。
    3、WebKit (Safari内核,Chrome内核原型)
    WebKit 是苹果公司自主研发的内核,也是Safari浏览器使用的内核。 WebKit 引擎包含渲染引擎WebCore和JS引擎JSCore 。均是从KDE的KHTML及KJS引擎衍生来的。当年苹果在比较了Gecko和KHTML后,选择了KHTML,因其具有清晰的源码结构和极快的渲染速度。
    4、Chromium/Blink
    2008年谷歌发布了Chrome浏览器,该浏览器使用的内核为Chromium 。Chromium 使用苹果公司的WebKit作为浏览器内核原型,Chromium引擎虽然是属于WebKit的分支,却把WebKit 代码梳理的可读性提高很多,之前可能需要一天编译的代码,现在两个小时就能搞定。然而。在2013年,Chrome放弃Chromium引擎转而使用最新的Blink引擎(基于WebKit2——苹果公司于2010年推出的新的WebKit引擎),Blink对比Chromium引擎精简了代码,改善了DOM框架,也提升了安全性。
    5、Presto
    Opera7.0以后版本的内核。2013年2月13日,Opera Software宣布未来产品将以Webkit和V8为主,逐步放弃使用基于Presto引擎的产品
     
    二、Javascript引擎
    用来渲染JS的,JS引擎涉及跑分。通常我们说的浏览器速度快,其实大部分指的就是JS渲染速度,而不是页面载入速度。JavaScript的渲染速度越快,动态页面的展示也越快。Opera在JavaScript引擎的跑分上面一直都是很牛逼的,一般来说最新测试版之间PK,Opera基本都会夺冠。
    1、Chakra
    查克拉,IE9启用的新的JavaScript引擎。
    2、SpiderMonkey/TraceMonkey/JaegerMonkey
    SpiderMonkey应用在Mozilla Firefox 1.0-3.0,TraceMonkey应用在Mozilla Firefox 3.5-3.6版本,JaegerMonkey应用在Mozilla Firefox 4.0及后续的版本。
    3、V8
    应用于Chrome、傲游3。
    4、Nitro
    应用于Safari 4及后续的版本。
    5、Linear A/Linear B/Futhark/Carakan
    Linear A应用于Opera 4.0-6.1版本,Linear B应用于Opera 7.0~9.2版本,Futhark应用于Opera 9.5-10.2版本,Carakan应用于Opera 10.5及后续的版本。
    6、KJS
    KHTML对应的JavaScript引擎。
     
    三、移动端
    移动端的浏览器内核主要指系统内置浏览器内核。
    目前移动设备常用的内核有WebKit、Blink、Trident、Gecko等。
    iphone和Ipad等苹果IOS系统主要是WebKit
    Android 4.4之前的主要是WebKit
    Android 4.4系统原本基于Android WebKit 的WebView实现被换成基于Chromium实现,内部渲染引擎改为Blink/Content内核引擎
     
     
    参考链接:
  • 相关阅读:
    cornerstone log 点击down之后无法查看log解决方法
    YYWebImage的使用
    关于AF请求报错Request failed: unacceptable content-type: text/plain 解决方案
    如何优雅地进行页面间的跳转(iOS)
    关于添加设置PCH静态文件的方法
    iOS开发,获取动态web页面的高度
    IOS 开发 证书显示 此证书签发者无效 解决办法
    关于强制竖屏变横屏
    iOS面试必看经典试题分析
    最新iOS10相关技术【集合帖】
  • 原文地址:https://www.cnblogs.com/xxchi/p/7798026.html
Copyright © 2020-2023  润新知