`
deng131
  • 浏览: 681551 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

不同浏览器内核引擎区别

阅读更多
一、浏览器:

浏览器可以分为两部分,shell+内核。其中shell的种类相对比较多,内核则比较少。Shell是指浏览器的外壳:例如菜单,工具栏等。主要是提供给用户界面操作,参数设置等等。它是调用内核来实现各种功能的。内核才是浏览器的核心。内核是基于标记语言显示内容的程序或模块。也有一些浏览器并不区分外壳和内核。从Mozilla将Gecko独立出来后,才有了外壳和内核的明确划分。目前主流的浏览器有 IE,Mozilla,FireFox,Opera,Safari,Chrome,Maxthon,GreenBrowser,Netscape等。

二、内核:

内核又可以分成两部分:渲染引擎(layout engineer或者Rendering Engine)和JS引擎。它负责取得网页的内容(HTML、XML、图像等等)、整理讯息(例如加入CSS等),以及计算网页的显示方式,然后会输出至显示器或打印机。所有网页浏览器、电子邮件客户端以及其它需要编辑、显示网络内容的应用程序都需要内核。(参见维基百科)JS引擎则是解析Javascript语言,执行 javascript语言来实现网页的动态效果。最开始渲染引擎和JS引擎并没有区分的很明确,后来JS引擎越来越独立,内核就倾向于只指渲染引擎。有一个网页标准计划小组制作了一个ACID来测试引擎的兼容性和性能。目前主流的内核有:Trident,Gecko,Webkit,Presto等。

Trident又称MSHTML,是微软开发的渲染引擎(包含了Javascript引擎JScript),他已经深入了Windows操作系统的骨髓,例如Windows Media Play,Windows Explorer,Outlook Express等都使用了。目前很多浏览器都使用这个引擎,例如IE,Maxthon(最新版已经不使用)等。

Gecko是C++开发的,Open Source的渲染引擎,包括了SpiderMonkey(Rhino)。主要的使用者有 Firefox。

Webkit是苹果公司基于KHTML开发的。他包括Webcore和JavaScriptCore(SquirrelFish,V8)两个引擎。主要的使用者有Safari,Chrome。

Presto由Opera Software公司开始的,用于Opera的渲染引擎。Macromedia Dreamweaver (MX版本及以上)和Adobe Creative Suite 2也使用了Presto的内核。

Engine 


Creator 


Software license 


Leading application 

Gecko


Netscape/Mozilla Foundation


MPL/GNU GPL/GNU LGPL tri-license


Mozilla Firefox

KHTML


KDE


GNU LGPL


Konqueror

Presto


Opera Software


Proprietary


Opera

Tasman


Microsoft


Proprietary


Microsoft Entourage

Trident


Microsoft


Proprietary


Internet Explorer

WebKit (Based on KHTML)


WebKit Foundation


GNU LGPL, BSD-style


Safari, Google Chrome

三、JS引擎:

JavaScript最初由网景公司的Brendan Eich设计,是一种动态、弱类型、基于原型的语言,内置支持类。以它为基础,制定了ECMAScript标准。他的起源并不是如《Javascript高级程序设计》书中所述,是Brendan Eich自主发明的。(参考aimingoo的考证文章)JavaScript在浏览器的实现中还必须含有DOM和BOM。Web浏览器一般使用公共 API来创建主机对象来负责将DOM对象反射进JavaScript。
 

Trident


Gecko


WebKit


KHTML


Presto

Name of ECMAScript Engine


JScript


Spidermonkey


JavaScriptCore


KJS


linear b/futhark

ECMAScript Version


Edition 3


Yes


0.6


Yes


Yes


7.0

JavaScript 1.5 extensions


No


0.6


Yes


Yes


7.0

JavaScript 1.7 extensions


No


1.8.1


No


No


No

JavaScript 1.8 extensions


No


1.9


No


No


No

四、实现原理:

渲染流程如下所示:



Mozilla架构设计:界面和实现分离。采用标记语言,JavaScript,C++来开发。JSEngine就是指 SpideMonkey,Layout就是指Gecko。Mozilla的一个关键部分是XPCOM和NSPR。
[img]
http://www.alidw.com/wp-content/uploads/2010/01/b.JPG[/img]

Webkit的处理流程:



五、手机浏览器:

手机浏览器分成两类:基于HTML和基于WAP的,对应于移动运营商就是NET和WAP两种流量。手机浏览的模式主要有两种:一是浏览器本身先读取 Web网页,然后通过重新排版,将Web网页的内容转换成类似于WAP网页的版面;二是通过放大缩小显示方式,力求在较小的显示屏幕上显示整个或部分 Web网页。这两种方式侧重点不同,分别以快速检索和方便阅读为主要目标。其中UCWeb,OperaMini采用第一种方式。其他如 Deepfish(IE),Minimo(Mozilla),Safari采用第二种方式。

在手机浏览器领域,WAP已经成为了主流标准。目前,世界上掌握WAP浏览器核心技术的厂商只有4家,分别是美国的Openvave,瑞典的 Deleca,日本的Access和韩国的Infraware。可以从手机浏览器的User_Agent信息中看出来。
分享到:
评论

相关推荐

    Cef浏览器内核.zip_C# 浏览器 CEF_cef浏览器_cef浏览器 1688_cef浏览器内核_浏览器

    **Cef浏览器内核**是基于Chromium Embedded Framework (CEF) 的一款开源浏览器组件,它为开发者提供了在C#编程环境中构建嵌入式浏览器应用的能力。CEF是一个强大的框架,允许开发者将Chromium浏览器引擎集成到自己的...

    Web标准与浏览器内核引擎解析

    内容概要:本文全面介绍了Web标准、浏览器内核引擎及其工作原理。主要内容包括Web的基本概念、Web标准的制定与重要性、常见浏览器的内核及JavaScript引擎,以及浏览器的工作流程和渲染原理。文中还详细阐述了浏览器...

    多浏览器内核引擎下载

    webkitbrowser的dll 内核是谷歌浏览器与IE浏览器//////////////////////////// WebKit是开源的Web浏览器引擎,苹果的Safari、谷歌的Chrome浏览器都是基于这个框架来开发的。

    浏览器内核

    浏览器内核是构建网页浏览器的核心组件,它负责解析HTML、CSS、JavaScript等Web标准语言,渲染页面,并与用户的交互进行处理。"WebKit.NET-0.5"是一个将Chrome浏览器的内核WebKit移植到.NET框架的项目,使得开发者...

    开源浏览器内核原码

    开源浏览器内核原码是软件开发领域中的一个重要话题,它涉及到如何构建、理解和修改网络浏览器的核心组件。在本案例中,我们关注的是一个名为“csEXWB”的项目,这是一个基于C#语言的开源浏览器内核。C#是一种现代、...

    浏览器内核介绍

    ### 浏览器内核介绍 #### 一、概述 浏览器作为互联网时代不可或缺的工具之一,其核心组件——浏览器内核扮演着至关重要的角色。浏览器内核,又称渲染引擎或解释引擎,负责对网页语法(如HTML、CSS、JavaScript等)...

    主流浏览器内核概览.doc

    在计算机科学和互联网领域,渲染引擎或浏览器内核对于用户与网络世界的交互起着至关重要的作用。不同的浏览器内核有着各自的特点和解析机制,这使得它们在处理HTML、CSS、JavaScript等网页语言时存在差异,从而影响...

    浏览器内核chromium84(2020)版本

    浏览器内核Chromium 84是Google Chrome浏览器的核心组件,它是开源的,允许开发者们根据自己的需求进行定制和改进。这个版本在2020年发布,主要关注性能优化、安全更新以及对Web标准的支持。在游戏开发领域,尤其是...

    得到浏览器尺寸,判断浏览器内核

    标题“得到浏览器尺寸,...总结来说,这个主题涵盖了前端开发中获取浏览器尺寸以适应不同设备屏幕,判断浏览器内核以确保代码兼容性,以及实现页面顶部返回功能的实用技巧。这些都是现代Web开发中不可或缺的基础技能。

    java调用chrome浏览器内核cef实现,非jxbrowser

    Java调用Chrome浏览器内核是开发桌面应用时一个常见的需求,尤其在需要嵌入Web页面或者与Web内容交互的场景下。CEF(Chromium Embedded Framework)是一个开源项目,它允许开发者将Google Chrome的Blink渲染引擎和V8...

    浏览器内核详解

    浏览器内核是浏览器的核心组成部分,主要负责解析网页的HTML、CSS和JavaScript,将这些内容转换成用户可以交互的可视界面,也就是我们常说的渲染引擎。它处理从网络接收的数据,执行脚本,与操作系统交互,确保...

    cpp-一个小巧轻量的浏览器内核用来取代wke和libcef

    标题中的“cpp”通常指的是C++编程语言,而“wke”和“libcef”是两种不同的浏览器内核。在IT行业中,浏览器内核是控制网页渲染和与用户交互的关键组件。现在,我们来深入探讨这个话题。 首先,Wke(Webkit for ...

    浏览器的各种内核[参照].pdf

    浏览器内核的选择直接影响到浏览器的性能、兼容性和网页展示效果。以下是一些关于浏览器内核的重要知识点: 1. **Trident内核**:由微软开发,主要用于Windows平台上的Internet Explorer系列浏览器。Trident内核因...

    常见浏览器内核及其特点

    在IT行业的前端开发与网页测试领域,了解不同的浏览器内核及其特性是至关重要的。这是因为不同的浏览器内核在解析HTML、CSS以及执行JavaScript时可能存在差异,这直接影响到网页的兼容性和性能表现。根据提供的文件...

    判断浏览器内核.zip

    5. **实际应用**:识别浏览器内核有助于实现兼容性处理,例如为特定内核提供特定的CSS hack或者使用不同的JavaScript库。同时,还可以用于统计用户使用浏览器的分布,以便优化网站性能。 6. **文件解析**:“判断...

    web浏览器内核特性.pdf

    "web浏览器内核特性.pdf"这份文档可能详细介绍了不同浏览器内核的历史、功能和差异。以下是主要知识点的详细说明: 1. 渲染引擎(Rendering Engine): - 渲染引擎是浏览器内核的主要部分,负责解释网页的标记语言...

    腾讯X5内核浏览器类库_浏览器_x5内核_e4a类库_x5内核_E4A_

    X5内核源于腾讯QQ浏览器,它是一个基于WebKit开源项目构建的浏览器引擎。WebKit是一种流行且强大的渲染引擎,被许多知名浏览器所采用,如Safari和早期的Chrome。X5内核在WebKit的基础上进行了优化和定制,以适应中国...

    java浏览器调用ie内核

    然而,它们并不直接支持调用浏览器内核。Applet是一种嵌入到HTML中的小程序,可以通过Java插件在浏览器中运行,但随着现代浏览器逐渐淘汰Java插件,这种方式已不再推荐。 2. **ActiveX控件:** 要在Java中调用IE...

    浏览器内核知识你知多少.docx

    #### 五、浏览器内核之间的区别 尽管所有浏览器内核的基本目标都是相同的——解析网页代码并呈现网页内容,但在实际操作过程中它们之间存在明显差异: - **兼容性**:不同的内核对Web标准的支持程度不同,这可能...

    04 浏览器内核1

    了解浏览器内核和JavaScript引擎的差异对于前端开发者来说至关重要,因为这直接影响到网页在不同浏览器上的表现和性能。开发者可以利用各种工具,如浏览器的开发者工具,来调试和优化网页代码,确保在各种环境下都能...

Global site tag (gtag.js) - Google Analytics