浏览器内核
2018-08-22 本文已影响9人
钱英俊真英俊
浏览器内核(Web Browser Engine),也被成为样板引擎(Layout Engine)、页面渲染引擎(Rendering Engine)。它是一种软件组件,负责获取标记式内容(如HTML、XML及图像文件等等)、整理信息(如CSS及XSL等),并将排班后的内容输出至显示器或打印机。所有网页浏览器、电子邮件客户端、电子阅读器以及其他需要根据表示性的标记语言(Presentational Markup)来显示内容的应用程序都需要浏览器内核 --------维基百科 浏览器内核
目前常见的浏览器内核
1. Trident --微软IE
- 又被称为MSHTML、IE内核。是微软的视窗操作系统(Windows)打在的网页浏览器——Internet Explorer 的排班引擎的名称。
- Trident引擎被设计成一个模块,使其他软件开发人员很容易将网页浏览的功能加到他们自行开发的应用程序里。微软提出了一个称为‘组件对象模型(COM)’的软件接口架构。供其它支持的组件对象模型开发环境的应用程序(如C++及.net)访问及编辑网页。例如,友C++所撰写的程序可以加入浏览器控件里,并透过Trident引擎访问当前显示在浏览器上的网页内容及网页的各种元素的值,从浏览器控件触发的事件亦可被程序截取并进行处理。Trident引擎所提供的所有库可以透过与mshtml.dll这个文件的链接而达成撰写程序所需要的功能。
- 第一个版本随着1997年10月Internet Explorer第四版发布。也有其他应用程序使用了Trident排班引擎所提供的技术,比如QQ浏览器、世界之窗浏览器等
2. --Webkit
- Webkit被用于Apple Safari,其分支Blink被用于基于Chromium的网页浏览器,如Oprea与Google Chrome
- Webkit也用于Apple iOS、BlackBerry TabletOS、Tizen及Amazon Kindle的默认浏览器。
- 组件:
- 1. WebCore
是一个由Webkit项目所开发的布局(Layout)、渲染(Rendering)及HTML和SVG的DOM库,完整的代码皆由GUN宽通用公共许可证所授权。Weblit框架包装了WebCore及JavaScript,并提供一个Objective-C应用程序接口来接介由C++所开发的WebCore渲染引擎及JavaScriptCore脚本引擎,透过Cocoa API就可以在应用程序中很简单的使用这些组件。之后的版本同时包含了一个跨平台的C++抽象平台,并提供各种API使用。
- 2. JavaScriptCore
是一个在Webkit中提供JavaScript引擎的框架,而且在OS X作为其他内容的脚本引擎。
- 3. Drosera
是一个JavaScript调试工具,目前已经被Web Inspector取代。
3. Blink -- 谷歌
- Blink是一个由Google主导开发的开源浏览器排版引擎,是开源引擎Webkit中WebCore组件的一个分支,并且在Chrome、Opera(15及往后版本)、Yandex等浏览器中使用。
4. EdgeHTML -- 微软Edge
- EdgeHTML是由微软开发并用于Microsoft Edge的专有排版引擎,是Trident的一个分支,首次出现于Windows 10 的IE11, 用于Microsoft Edge
5. Gecko
- Gecko是一套自由及开放源代码,以C++编写的排版引擎,目前为Mozilla Firefox网页浏览器及Mozilla Thunderbird电子邮件客户端等Mozilla基金相关产品所使用。Gecko原本由网景通信公司开发,现在由Mozilla基金会维护。
- 2003年7月15日,美国在线解散了网景公司,大部分网景开发者被解雇。而Mozilla基金会亦在当天成立,继续推动着Gecko的发展。直到今天,Gecko排版引擎继续由Mozilla员工和社群所维护和发展