常見的瀏覽器內(nèi)核有哪些涕侈?
Trident內(nèi)核:IE,MaxThon秒旋,TT约计,The World,360迁筛,搜狗瀏覽器等煤蚌。[又稱MSHTML]
Gecko內(nèi)核:NETSCAPE6及以上版本,F(xiàn)F细卧,MozillaSuite / SeaMonkey的等
Presto內(nèi)核:Opera7及以上尉桩。[Opera內(nèi)核原為:Presto,現(xiàn)為:Blink;]
Webkit內(nèi)核:Safari贪庙,Chrome等蜘犁。[Chrome的:Blink(WebKit的分支)] ?
要搞清楚瀏覽器內(nèi)核是什么,首先應(yīng)該先搞清楚瀏覽器的 構(gòu)成止邮。簡單來說瀏覽器可以分為兩部分这橙,shell+內(nèi)核奏窑。其中shell的種類相對比較多,內(nèi)核則比較少析恋。Shell是指瀏覽器的外殼:例如菜單良哲,工具欄 等盛卡。主要是提供給用戶界面操作助隧,參數(shù)設(shè)置等等。它是調(diào)用內(nèi)核來實現(xiàn)各種功能的滑沧。內(nèi)核才是瀏覽器的核心并村。內(nèi)核是基于標記語言顯示內(nèi)容的程序或模塊。也有一些 瀏覽器并不區(qū)分外殼和內(nèi)核滓技。從Mozilla將Gecko獨立出來后哩牍,才有了外殼和內(nèi)核的明確劃分。目前主流的瀏覽器有IE6令漂、IE8膝昆、Mozilla、FireFox叠必、Opera荚孵、Safari、Chrome纬朝、Netscape等收叶。
什么是瀏覽器內(nèi)核?
瀏覽器內(nèi)核又可以分成兩部分:渲染引擎(layout engineer或者Rendering Engine)和JS引擎共苛。它負責取得網(wǎng)頁的內(nèi)容(HTML判没、XML、圖像等等)隅茎、整理訊息(例如加入CSS等)澄峰,以及計算網(wǎng)頁的顯示方式,然后會輸出至 顯示器或打印機辟犀。瀏覽器的內(nèi)核的不同對于網(wǎng)頁的語法解釋會有不同俏竞,所以渲染的效果也不相同。所有網(wǎng)頁瀏覽器踪蹬、電子郵件客戶端以及其它需要編輯胞此、顯示網(wǎng)絡(luò)內(nèi) 容的應(yīng)用程序都需要內(nèi)核。(參見維基百科)JS引擎則是解析Javascript語言跃捣,執(zhí)行javascript語言來實現(xiàn)網(wǎng)頁的動態(tài)效果漱牵。最開始渲染引 擎和JS引擎并沒有區(qū)分的很明確,后來JS引擎越來越獨立疚漆,內(nèi)核就傾向于只指渲染引擎酣胀。有一個網(wǎng)頁標準計劃小組制作了一個ACID來測試引擎的兼容性和性 能刁赦。內(nèi)核的種類很多,如加上沒什么人使用的非商業(yè)的免費內(nèi)核闻镶,可能會有10多種甚脉,但是常見的瀏覽器內(nèi)核可以分這四種:Trident、Gecko铆农、 Presto牺氨、Webkit。
Trident又稱MSHTML墩剖,是微軟開發(fā)的渲染引 擎(包含了Javascript引擎JScript)猴凹,他已經(jīng)深入了Windows操作系統(tǒng)的骨髓,例如Windows Media Play岭皂,Windows Explorer郊霎,Outlook Express等都使用了。目前很多瀏覽器都使用這個引擎爷绘,例如IE书劝,Maxthon(最新版已經(jīng)不使用)等。
Gecko是C++開發(fā)的土至,Open Source的渲染引擎购对,包括了SpiderMonkey(Rhino)。主要的使用者有Firefox毙籽。
Webkit是蘋果公司基于KHTML開發(fā)的洞斯。他包括Webcore和JavaScriptCore(SquirrelFish,V8)兩個引擎。主要的使用者有Safari坑赡,Chrome烙如。
Presto由Opera Software公司開始的,用于Opera的渲染引擎毅否。Macromedia Dreamweaver (MX版本及以上)和Adobe Creative Suite 2也使用了Presto的內(nèi)核亚铁。
主流瀏覽器所使用的內(nèi)核分類
Trident內(nèi)核:IE,MaxThon,TT,The World,360,搜狗瀏覽器等
Gecko內(nèi)核:Netscape6及以上版本,F(xiàn)F,MozillaSuite/SeaMonkey等
Presto內(nèi)核:Opera7及以上
Webkit內(nèi)核:Safari,Chrome等
EngineCreatorSoftware licenseLeading application
GeckoNetscape/Mozilla FoundationMPL/GNU GPL/GNU LGPLtri-licenseMozilla Firefox
KHTMLKDEGNU LGPLKonqueror
PrestoOpera SoftwareProprietaryOpera
TasmanMicrosoftProprietaryMicrosoft Entourage
TridentMicrosoftProprietaryInternet Explorer
WebKit?(Based on KHTML)WebKit FoundationGNU LGPL,BSD-styleSafari,Google Chrome