Mozilla在Firefox浏览器的JavaScript解释器SpiderMonkey中整合了跟踪优化技术,发布了改进版的TraceMonkey解释器,这一改进使得Firefox的性能比目前提升了20到40倍。Ars
Technica采访了Mozilla的首席技术官Brendan
Eich(他也是JavaScript的发明者)和工程副总裁MikeShaver。他们称,跟踪优化让JavaScript性能上升一个量级,人们将更认同JavaScript为通用的语言,最终目的是让JavaScript和C代码一样快。Mozilla目标是让JavaScript的执行速度堪比原生码,这将能大幅提升新一代Web应用程序的计算性能。Eich和Shaver也在自己的博客上使用测试工具展示了不同解释器的执行性能表现。Mozilla还发布的演示性能变化的视频。

采用的JavaScript引擎
Linear A,用于Opera 4.0~6.1版本;
Linear B,用于Opera 7.0~9.2版本;
Futhark,用于Opera 9.5~10.2版本;
Carakan,由Opera软件公司编写,自Opera10.50版本开始使用。

Nitro(原名SquirrelFish),为Safari 4编写。

 图片 1

4、Chrome
2008年谷歌公布Chrome的时候浏览器使用的内核被命名为Chromium。Chromium来自WebKit,但是对WebKit代码进行了梳理调整,有些地方将Chromium归为WebKit,也有地方将两者分开介绍。Chromium采用了WebKit中的WebCore渲染引擎,JavaScript引擎为V8。
谷歌研发小组在2006年开始研发V8,部分原因是对既有JavaScript引擎的执行速度不满意。
V8作者是丹麦的Lars Bak(拉斯巴克),巴克还是Java
HotSpot性能引擎的主力开发。V8和Java HotSpot有很多相同的理念。
2013年4月,谷歌在Chromium Blog上称在 Chromium 项目中研发 Blink
渲染引擎,从13年发布的Chrome
28.0.1469.0版本开始,Chrome放弃Chromium引擎转而使用最新的Blink引擎。Blink引擎是WebKit中WebCore的一个分支。

排版引擎(Layout Engine或Rendering Engine)也被称为浏览器内核、页面渲染引擎或模板引擎。

  • V8,开放源代码,由Google丹麦开发,是Google
    Chrome的一部分。

因此我们还是从浏览器开始了解JavaScript引擎。

微软

所以一个JavaScript引擎不外乎包括以下部分:

图片 2

<button type=”button” onclick=”alert(‘hehe’)”>try!</button>

第一,编译器。主要工作是将源代码编译成抽象语法树,然后在某些引擎中还包含将抽象语法树转换成字节码。

JavaScript诞生之时就是在浏览器进程中运行,但是它也可以作为服务端脚本。最早用在服务端的是经典的微软Asp,服务脚本不仅可以声明为VBScript还可以声明为JScript、JavaScript,只是Asp只能运行在Windows平台。2009年发布的Node.js则是可以将JavaScript作为可以跨平台的服务端脚本。尽管JavaScript引擎可以独立封装成单独的服务器组件,但是其执行特征依旧和在浏览器进程中的执行特征相似。

1.放置在html标签内

4)其它

图片 3

Google

  •  KJS,KDE的 ECMAScript/JavaScript引擎,最初由Harri
    Porten开发,用于KDE项目的

我们常说的浏览器内核,其实是指浏览器的渲染引擎(Rendering
Engine)。渲染引擎包括有Html解释器、CSS解释器、布局Layout和JavaScript引擎。最开始渲染引擎和JavaScript引擎并没有很明确的区分,只是随着Web技术的发展,JavaScript引擎越来越独立。


理解WebKit和Chromium:
JavaScript引擎简介

5、Opera
Opera目前使用的内核引擎是Blink。
Opera 3.5-6.1版本使用的内核叫做Elektra。
Opera
7.0及以后版本到Opera12.17的内核叫Presto。Presto已经废弃,该引擎最大的特点就是渲染速度优化达到了极致,然后代价是牺牲了网页的兼容性。

SpiderMonkey,第一款JavaScript引擎,由Brendan Eich在Netscape Communications时编写,用于Mozilla Firefox 1.0~3.0版本。

1) Mozilla

国产多核浏览器一般是一个内核采用Trident,然后再增加其他内核使用WebKit或者Blink。


2)Google

其他词汇说明:
KDE是UNIX操作系统下的一个网络透明的现代桌面环境。
KHTML是KDE小组所开发的渲染引擎。
Tamarin,由Adobe Labs编写,Flash Player 9所使用的引擎。

Tamarin,由Adobe Labs编写,Flash Player 9所使用的引擎。

浏览器内核渲染引擎.jpg

Mozilla

参考文章:
http://taligarsiel.com/Projects/howbrowserswork1.htm
http://www.cnblogs.com/cnwebdeveloper/articles/2234423.html
https://www.cnblogs.com/Leo\_wl/p/5119719.html
http://www.makaidong.com/object%20c/16151.shtml

Carakan,由Opera软件公司编写,自Opera10.50版本开始使用。

参考资料:

Author

发表评论

电子邮件地址不会被公开。 必填项已用*标注