atitit..主流 浏览器 js 发动机 内核 市场份额 attialx总结vOa9
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. 用户界面- 包含地址栏、后退/前进button、书签文件夹等。也就是你所示除了用来显示你所请求页面的主窗体之外的其它部分
2. 浏览器引擎- 用来查询及操作渲染引擎的接口
3. 渲染引擎- 用来显示请求的内容。比如,假设请求内容为html,它负责解析html及css。并将解析后的结果显示出来
4. 网络- 用来完毕网络调用,比如http请求,它具有平台无关的接口,能够在不同平台上工作
5. UI 后端- 用来绘制类似组合选择框及对话框等基本组件。具有不特定于某个平台的通用接口,底层使用操作系统的用户接口
6. JS解释器- 用来解释运行JS代码
7. 数据存储- 属于持久层。浏览器须要在硬盘中保存类似cookie的各种数据,HTML5定义了web database技术,这是一种轻量级完整的client存储技术
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、Chakra 查克拉,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
版权声明:本文博主原创文章,博客,未经同意不得转载。
atitit..主流 浏览器 js 发动机 内核 市场份额 attialx总结vOa9相关推荐
- 主流浏览器js 引擎内核市场份额attialx总结vOa9
原文: http://blog.csdn.net/attilax/article/details/40016... 时间: 2014-10-12 atitit.. 主流浏览器 js 引擎 内核 市场份 ...
- 主流浏览器及对应内核
主流浏览器及对应内核 内核 浏览器 Trident IE4. IE5. IE6. IE7. IE8 Maxthon The World TT GreenBrowser AvantBrowser G ...
- 五大主流浏览器及四大内核1
转载:https://blog.csdn.net/yuyanjing123456789/article/details/78689595 任何上过网的用户对浏览器是再熟悉不过了.只是用户看到仅仅只是浏 ...
- 主流浏览器及四大内核
作为前端开发,熟悉四大内核是非常有必要的.四大内核的解析不同使网页渲染效果更具多样化. 浏览器最重要的部分是浏览器的内核.浏览器内核是浏览器的核心,也称"渲染引擎",用来解释网页语 ...
- 前端面试-主流浏览器以及其内核
前端开发当然要了解你做测试的浏览器,而且在面试的时候也会经常问到这方面的问题. 现在国内常见的浏览器有:IE.Firefox.Safari.Opera.Google Chome.QQ浏览器.搜狗浏览器 ...
- js引擎渲染php,主流浏览器内核及JS引擎
给大家科普一下主流浏览器 学习web前端,浏览器和编辑器是我们的好朋友 所以有必要了解浏览器的一些小知识 比如:什么是主流浏览器 主流浏览器 主流浏览器是有一定市场份额且有自己独立研发内核的浏览器 也 ...
- 主流浏览器内核及JS引擎
tip:有问题或者需要大厂内推的+我脉脉哦:丛培森 ٩( 'ω' )و 给大家科普一下主流浏览器 学习web前端,浏览器和编辑器是我们的好朋友 所以有必要了解浏览器的一些小知识 比如:什么是主流浏览器 ...
- 主流浏览器内核有哪几种?
1.背景介绍. 什么是浏览器的内核? 浏览器最重要或者说最核心的部分叫做"Rendering Engine",可大概译为"渲染引擎",不过我们一般习惯将之称为& ...
- 前端主流浏览器兼容写法(css、js)以及主流框架vue,react的兼容性
前言: 前端样式很重要,但是因为浏览器种类繁多,内核不同,会导致各种兼容问题.尤其ie,但好在微软对ie不在更新了. 常见浏览器: 常见的浏览器有:IE.Edge(替代了ie).Firefox.QQ浏 ...
最新文章
- 各种Optimizer梯度下降优化算法回顾和总结
- 动力节点老杜mysql文件_mysql主从复制+mysql主从复制延迟解决方案
- 【SQL Alchemy】AttributeError: '...' object has no attribute 'translate'错误的解决
- cinder连接mysql数据库_Openstack入门篇(十六)之Cinder服务的部署与测试
- Python数据可视化的四种简易方法 1
- 模块和包——Python
- (转载)C#控件缩写规范
- GeoTools操作Shape格式文件
- bim 骗局_建筑设计BIM工程师是个好职业吗?
- 为什么计算机没有桌面显示不出来,​为什么电脑图片显示不出来
- GeForce Desktop Products Compute Capability
- 超级炫酷的动态登陆界面视频背景
- 这341句话,这么美,那么伤。
- 我平时整理的一个生成机器码的类(转载)
- 联合熵、条件熵、互信息、相对熵、交叉熵的详解
- tableau中的聚合和总计
- 生物信息百Jia软件(22):featureCounts
- CryEngine5.3(学习)
- 微信小程序radio单选框如何修改宽高及选中样式
- 计算机中的英语六级作文万能模板,英语六级作文万能模板(4篇)
热门文章
- Struts2.34必需具备的包
- scala入门基础2
- android课程设计录音机,[转载]数字录音机(微机原理与接口技术-课程设计)
- python精品课_【人生苦短,我用Python】Python免费精品课连载(1)——Python入门
- @autowired注解_品Spring:对@Autowired和@Value注解的处理方法(文末附spring系列资源合集)...
- 简单分析Flask 数据库迁移详情
- ASP.NET Web Pages – 页面布局简介
- 想从事单片机工作,C语言要达到什么水平?
- C语言----求解N以内的素数的两种典型方法以及其优化
- python编程快速上手-----让繁琐工作自动化_Python编程快速上手—让繁琐工作自动化|百度云盘|基础学习...