原文: http://blog.csdn.net/attilax/article/details/40016... 时间: 2014-10-12

atitit.. 主流浏览器 js 引擎 内核 市场份额 attialx 总结 vOa9

1. 浏览器内核1

2. 浏览器的主要组件包括: 2

2.1. 主要组件体系结构2

2.2. WebCore 排版引擎及JavaScriptCore解析引擎, 3

2.3. 渲染引擎基本流程3

3. 当前主流浏览器的引擎及浏览器: 4

3.1. Trident(MSHTML) : IE 4

3.2. Presto : Opera7及以上 4

3.3. Gecko : Firefox 4

3.4. KHTML( 衍生出WebKit ) : Safari 、 Konqueror,Chromium 4

4. 二、 JavaScript引擎 5

4.1. 1 、 Chakra查克拉, IE9启用的新的JavaScript引擎。 5

4.2. 2 、 SpiderMonkey / TraceMonkey / JaegerMonkey,FF 5

4.3. 3 、 V8应用于Chrome 、傲游3 。 5

4.4. 4 、 Nitro应用于Safari 4及后续的版本。 5

4.5. 5 、 Linear A/Linear B/Futhark/Carakan,,Opera 5

4.6. 6 、 KJS KHTML对应的JavaScript引擎。 5

5. 浏览器市场份额and 来源 5

5.1. 来自Net Applications的最新市场份额数字6

5.2. StatCounter 的统计数据方面 6

6. 参考: 6

1. 浏览器内核

浏览器最重要或者说核心的部分是“Rendering Engine”, 不过我们一般习惯将之称为“浏览器内核

内核只是一个通俗的说法,其英文名称为“Layout engine”,翻译过来就是“排版引擎”,也被称为“页面渲染引擎”(下文中各种说法通用)。 它负责取得网页的内容(HTML、XML、图像等等)、整理信息(例如加入CSS等),以及计算网页的显示方式,然后会输出至显示器或打印

作者::老哇的爪子Attilax艾龙, EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax

2. 浏览器的主要组件包括:

1. 用户界面- 包括地址栏、后退/前进按钮、书签目录等,也就是你所看到的除了用来显示你所请求页面的主窗口之外的其他部分

2. 浏览器引擎- 用来查询及操作渲染引擎的接口

3. 渲染引擎- 用来显示请求的内容,例如,如果请求内容为html ,它负责解析html及css ,并将解析后的结果显示出来

4. 网络- 用来完成网络调用,例如http请求,它具有平台无关的接口,可以在不同平台上工作

5. UI 后端- 用来绘制类似组合选择框及对话框等基本组件,具有不特定于某个平台的通用接口,底层使用操作系统的用户接口

6. JS 解释器- 用来解释执行JS代码

7. 数据存储- 属于持久层,浏览器需要在硬盘中保存类似cookie的各种数据, HTML5定义了web database技术,这是一种轻量级完整的客户端存储技术

2.1. 主要组件体系结构

内核》》Rendering Engine》》js engine

图1 :浏览器主要组件

需要注意的是,不同于大部分浏览器, Chrome为每个Tab分配了各自的渲染引擎实例,每个Tab就是一个独立的进程。

2.2. WebCore 排版引擎及JavaScriptCore解析引擎,

2.3. 渲染引擎基本流程

渲染引擎首先通过网络获得所请求文档的内容,通常以8K分块的方式完成。

下面是渲染引擎在取得内容之后的基本流程:

解析html以构建dom树->构建render树->布局render树->绘制render树

图2 :渲染引擎基本流程

渲染引擎开始解析html ,并将标签转化为内容树中的dom节点。接着,它解析外部CSS文件及style标签中的样式信息。这些样式信息以及html中的可见性指令将被用来构建另一棵树——render树。

Render 树由一些包含有颜色和大小等属性的矩形组成,它们将被按照正确的顺序显示到屏幕上。

Render 树构建好了之后,将会执行布局过程,它将确定每个节点在屏幕上的确切坐标。再下一步就是绘制,即遍历render树,并使用UI后端层绘制每个节点。

值得注意的是,这个过程是逐步完成的,为了更好的用户体验,渲染引擎将会尽可能早的将内容呈现到屏幕上,并不会等到所有的html都解析完成之后再去构建和布局render树。它是解析完一部分内容就显示一部分内容,同时,可能还在通过网络下载其余内容。

3. 当前主流浏览器的引擎及浏览器:

3.1. Trident(MSHTML) : IE

3.2. Presto : Opera7及以上

3.3. Gecko : Firefox

3.4. KHTML( 衍生出WebKit ) : Safari 、 Konqueror ,Chromium

编注: WebKit是一个开源的浏览器引擎,与之相应的引擎有Gecko ( Mozilla Firefox等使用的排版引擎)和Trident (也称为MSHTML , IE使用的排版引擎)。同时WebKit也是苹果Mac OS X系统引擎框架版本的名称,主要用于Safari , Dashboard , Mail和其他一些Mac OS X程序。WebKit所包含的WebCore排版引擎和JSCore引擎来自于KDE的KHTML和KJS ,当年苹果比较了Gecko和KHTML后,仍然选择了后者,就因为它拥有清晰的源码结构、极快的渲染速度。

Presto : ms速度快的..

5 、 Chromium (跨平台)

其实Chromium就是WebKit ,维基百科里面并没有将Chromium从WebKit分出来,这个区分完全是基于我个人的恶趣味。记得以前看过一个大牛的博文说过, Chromium把WebKit的代码梳理得可读性提高很多,所以以前可能需要一天进行编译的代码,现在只要两个小时就能搞定。这个我自己也没有考究过,但是估计可信。这个也能解释为什么Gecko和WebKit出来了这么久,第三方编译、定制的版本并不多,但是由Chromium衍生出来的浏览器早就满坑满谷了。

常见的Chromium内核的浏览器: Google Chrome 、 Chromium 、 SRWare Iron 、 Comodo Dragon

4. 二、 JavaScript引擎

Opera 在JavaScript引擎的跑分上面一直都是很牛逼的,一般来说最新测试版之间PK , Opera基本都会夺冠。

4.1. 1 、 Ch akra 查克拉, IE9启用的新的JavaScript引擎。

4.2. 2 、 SpiderMonkey / TraceMonkey / JaegerMonkey ,FF

SpiderMonkey 应用在Mozilla Firefox 1.0-3.0 , TraceMonkey应用在Mozilla Firefox 3.5-3.6版本, JaegerMonkey应用在Mozilla Firefox 4.0及后续的版本。

4.3. 3 、 V8应用于Chrome 、傲游3 。

4.4. 4 、 Nitro应用于Safari 4及后续的版本。

4.5. 5 、 Linear A/Linear B/Futhark/Carakan ,,Opera

Linear A 应用于Opera 4.0-6.1版本, Linear B应用于Opera 7.0 ~ 9.2版本, Futhark应用于Opera 9.5-10.2版本, Carakan应用于Opera 10.5及后续的版本。

4.6. 6 、 KJS KHTML对应的JavaScript引擎。

5. 浏览器市场份额and 来源

pc浏览器市场份额:::ie , ff ,chrome 都是30% ,safari 6% 手机浏览器 Safari 50%, android 20%,opera 10%,chrome 10%

5.1. 来自Net Applications的最新市场份额数字

5.2. StatCounter 的统计数据方面

6. 参考:

[ 科普文]关于浏览器内核的一些小知识,明明白白选浏览器!.htm

2013 年10月份全球主流浏览器市场份额排行榜_浏览迷.htm

2013 年8月全球浏览器市场占有率排行榜-免费绿色软件下载,共享软件基地,破解绿色软件免费下载-统一下载站.htm

2014 年8月份国内主浏览器市场份额排行榜-看引擎KENGINE _看看新闻网IT资讯.htm

浏览器是如何工作的? (工作原理) - IE浏览器中文网站.htm

主流浏览器js 引擎内核市场份额attialx总结vOa9相关推荐

  1. atitit..主流 浏览器 js 发动机 内核 市场份额 attialx总结vOa9

    atitit..主流 浏览器 js 发动机  内核 市场份额 attialx总结vOa9 1. 浏览器内核 1 2. 浏览器的主要组件包含: 2 2.1. 主要组件体系结构 2 2.2. WebCor ...

  2. 主流浏览器及对应内核

    主流浏览器及对应内核 内核 浏览器   Trident IE4. IE5. IE6. IE7. IE8 Maxthon The World TT GreenBrowser AvantBrowser G ...

  3. 五大主流浏览器及四大内核1

    转载:https://blog.csdn.net/yuyanjing123456789/article/details/78689595 任何上过网的用户对浏览器是再熟悉不过了.只是用户看到仅仅只是浏 ...

  4. 主流浏览器及四大内核

    作为前端开发,熟悉四大内核是非常有必要的.四大内核的解析不同使网页渲染效果更具多样化. 浏览器最重要的部分是浏览器的内核.浏览器内核是浏览器的核心,也称"渲染引擎",用来解释网页语 ...

  5. 前端面试-主流浏览器以及其内核

    前端开发当然要了解你做测试的浏览器,而且在面试的时候也会经常问到这方面的问题. 现在国内常见的浏览器有:IE.Firefox.Safari.Opera.Google Chome.QQ浏览器.搜狗浏览器 ...

  6. js引擎渲染php,主流浏览器内核及JS引擎

    给大家科普一下主流浏览器 学习web前端,浏览器和编辑器是我们的好朋友 所以有必要了解浏览器的一些小知识 比如:什么是主流浏览器 主流浏览器 主流浏览器是有一定市场份额且有自己独立研发内核的浏览器 也 ...

  7. 主流浏览器内核及JS引擎

    tip:有问题或者需要大厂内推的+我脉脉哦:丛培森 ٩( 'ω' )و 给大家科普一下主流浏览器 学习web前端,浏览器和编辑器是我们的好朋友 所以有必要了解浏览器的一些小知识 比如:什么是主流浏览器 ...

  8. 主流浏览器内核有哪几种?

    1.背景介绍. 什么是浏览器的内核? 浏览器最重要或者说最核心的部分叫做"Rendering Engine",可大概译为"渲染引擎",不过我们一般习惯将之称为& ...

  9. 前端主流浏览器兼容写法(css、js)以及主流框架vue,react的兼容性

    前言: 前端样式很重要,但是因为浏览器种类繁多,内核不同,会导致各种兼容问题.尤其ie,但好在微软对ie不在更新了. 常见浏览器: 常见的浏览器有:IE.Edge(替代了ie).Firefox.QQ浏 ...

最新文章

  1. Linux虚拟机和Window本地共享文件夹用于PHP项目调试
  2. 8种最坑的SQL错误用法,第一个就很坑?
  3. w命令、vmstat命令、top命令、sar命令、noload命令
  4. Java 编程开始啦
  5. 科学家利用BCI技术来缓解幻肢疼痛
  6. mysql 连续签到天数_新版签到活动明天上线,福利活动抢鲜看~
  7. 什么是Java文件?
  8. 【opencv学习】【图像的阈值处理】
  9. 昇腾AI处理器软件栈--神经网络软件架构
  10. 部门日报系统部署备忘录
  11. 拓端tecdat|重庆住房租赁市场现状分析:解读出租房市场的数据密码
  12. SAP计划策略40测试
  13. Ubuntu下搭建android开发环境
  14. 华东理工大学本科毕业论文答辩和论文选题PPT模板
  15. MFI认证——什么是苹果MFI认证
  16. office的最佳快捷键——快速访问工具栏
  17. 如何创建 2023 年营销日历(内含免费模板和示例)
  18. mac虚拟机服务器设置u盘启动不了,手把手教你解决win7系统苹果电脑运行虚拟机后无法识别显示U盘的图文方案...
  19. 认识arguments
  20. Pandownload盘神回来了

热门文章

  1. vim的高级用法配置以及在系统中如何获取帮助
  2. linux中硬链接文件,科学网—Linux:文件的符号链接和硬链接 - 刘洋洋的博文
  3. java csv格式文件写入_java csv文件写入
  4. Zookeeper watch机制
  5. java foreach 删除_为什么java不要在foreach循环里进行元素的remove/add操作
  6. mysql 上一页下一页_实现“上一页”和“下一页按钮
  7. 使用三层架构实现简单的MVC登陆操作!并实现基本的增删改查功能!!
  8. mongodb 事务_初探MongoDB事务机制
  9. python相关性分析特征过滤_特征选择-Filter过滤法后续(相关,互信息法)
  10. Flutter UI自动化测试技术方案选型与探索