瀏覽器核心、渲染引擎、js引擎
瀏覽器核心又可以分成兩部分:渲染引擎(layout engineer或者RenderingEngine)和JS引擎。
渲染引擎功能作用
渲染引擎,負責對網頁文法的解釋(如HTML、JavaScript)並渲染網頁。所以,通常所謂的瀏覽器核心也就是瀏覽器所採用的渲染引擎,渲染引擎決定了瀏覽器如何顯示網頁的內容以及頁面的格式資訊。不同的瀏覽器核心對網頁編寫文法的解釋也有不同,因此同一網頁在不同的核心的瀏覽器裡的渲染(顯示)效果也可能不同,這也是網頁編寫者需要在不同核心的瀏覽器中測試網頁顯示效果的原因。
當前主流渲染引擎核心:
firefox使用gecko引擎
IE使用Trident引擎
2015年微軟推出自己新的瀏覽器,原名叫斯巴達,後改名edge,使用edge引擎
opera最早使用Presto引擎,後來棄用
chrome\safari\opera使用webkit引擎
13年chrome和opera開始使用Blink引擎
JS引擎功能作用
最開始渲染引擎和js引擎並沒有區分的很明確,後來JS引擎越來越獨立,核心就傾向於只指渲染引擎。JavaScript最初由網景公司的Brendan Eich設計,是一種動態、弱類型、基於原型的語言,內建支援類。以它為基礎,制定了ECMAScript標準。javascript在瀏覽器的實現中還必須含有DOM和BOM。Web瀏覽器一般使用公用 API來建立主機對象來負責將DOM對象反射進JavaScript。JS引擎負責對JavaScript進行解釋、編譯和執行,以使網頁達到一些動態效果。
主要的網頁瀏覽器JavaScript引擎:
1) Mozilla
· Rhino,由Mozilla基金會管理,開放原始碼,完全以Java編寫。
· SpiderMonkey,第一款JavaScript引擎,由BrendanEich在NetscapeCommunications時編寫,用於Mozilla Firefox1.0~3.0版本。
· TraceMonkey,基於Just-In-Time 編譯的引擎,其中部份代碼取自Tamarin引擎,用於 Mozilla Firefox 3.5~3.6版本。
· JägerMonkey,(JägerMonkey,也有人拼字成JagerMonkey)德文Jäger原意為獵人,結合追蹤和組合碼技術大幅提高效能,部分技術借鑿了V8、JavaScriptCore、WebKit,用於Mozilla Firefox 4.0以上版本。
2)Google
· V8,開放原始碼,由Google丹麥開發,是Google Chrome的一部分。
3)微軟
· Chakra,中文譯名為查克拉,用於Internet Explorer 9。
· JScript 是由微軟公司開發的動態指令碼處理語言,是微軟對ECMAScript規範的實現.IE 3.0-IE8.0使用的JS引擎
4)其它
o KJS,KDE的ECMAScript/JavaScript引擎,最初由Harri Porten開發,用於KDE項目的 Konqueror網頁瀏覽器中。
o Narcissus,開放原始碼,由BrendanEich編寫(他也參與編寫了第一個SpiderMonkey)。
o Tamarin,由AdobeLabs編寫,Flash Player 9所使用的引擎。
o Nitro(原名SquirrelFish),為Safari 4編寫。
o Carakan,由Opera軟體公司編寫,自Opera10.50版本開始使用。
· from:http://www.cnblogs.com/xiaohuochai/p/4750452.html
· 文章乃參考、轉載其他部落格所得,僅供自己學習作筆記使用。。。