瀏覽器兼容

主流瀏覽器內(nèi)核

  • Trident內(nèi)核代表產(chǎn)品Internet Explorer守呜,又稱其為IE內(nèi)核。Trident(又稱為MSHTML)山憨,是微軟開發(fā)的一種排版引擎查乒。 使用Trident渲染引擎的瀏覽器包括:IE、傲游郁竟、世界之窗瀏覽器玛迄、Avant、騰訊TT棚亩、Netscape 8蓖议、NetCaptor、Sleipnir讥蟆、GOSURF勒虾、GreenBrowser和KKman等。
    Trident(IE內(nèi)核):該內(nèi)核程序在 1997 年的 IE4 中首次被采用,是微軟在 Mosaic("馬賽克",這是人類歷史上第一個瀏覽器最蕾,從此網(wǎng)頁可以在圖形界面的窗口瀏覽) 代碼的基礎(chǔ)之上修改而來的枝秤,并沿用到 IE11,也被普遍稱作 "IE內(nèi)核"。
    Trident實際上是一款開放的內(nèi)核琉用,其接口內(nèi)核設(shè)計的相當(dāng)成熟,因此才有許多采用 IE 內(nèi)核而非 IE 的瀏覽器(殼瀏覽器)涌現(xiàn)。由于 IE 本身的 "壟斷性"(雖然名義上 IE 并非壟斷,但實際上,特別是從 Windows 95 年代一直到 XP 初期痊末,就市場占有率來說 IE 的確借助 Windows 的東風(fēng)處于 "壟斷" 的地位)而使得 Trident 內(nèi)核的長期一家獨大嚼吞,微軟很長時間都并沒有更新 Trident 內(nèi)核誊稚,這導(dǎo)致了兩個后果——一是 Trident 內(nèi)核曾經(jīng)幾乎與 W3C 標(biāo)準(zhǔn)脫節(jié)(2005年)协屡,二是 Trident 內(nèi)核的大量 Bug 等安全性問題沒有得到及時解決,然后加上一些致力于開源的開發(fā)者和一些學(xué)者們公開自己認(rèn)為 IE 瀏覽器不安全的觀點腾务,也有很多用戶轉(zhuǎn)向了其他瀏覽器启昧,F(xiàn)irefox 和 Opera 就是這個時候興起的严里。非 Trident 內(nèi)核瀏覽器的市場占有率大幅提高也致使許多網(wǎng)頁開發(fā)人員開始注意網(wǎng)頁標(biāo)準(zhǔn)和非 IE瀏覽器的瀏覽效果問題教硫。
    補充:IE 從版本 11 開始景用,初步支持 WebGL 技術(shù)舀瓢。IE8 的 JavaScript 引擎是 Jscript堰怨,IE9 開始用 Chakra揽涮,這兩個版本區(qū)別很大颜说,Chakra 無論是速度和標(biāo)準(zhǔn)化方面都很出色。
    國內(nèi)很多的雙核瀏覽器的其中一核便是 Trident喊积,美其名曰 "兼容模式"乾吻。
    Window10 發(fā)布后诡必,IE 將其內(nèi)置瀏覽器命名為 Edge扭勉,Edge 最顯著的特點就是新內(nèi)核 EdgeHTML垫竞。關(guān)于 Edge 瀏覽器更多可以參考如何評價 Microsoft Edge 瀏覽器?

  • Gecko內(nèi)核代表作品Mozilla FirefoxGecko是一套開放源代碼的气笙、以C++編寫的網(wǎng)頁排版引擎次企。Gecko是最流行的排版引擎之一,僅次于Trident潜圃。使用它的最著名瀏覽器有Firefox缸棵、Netscape6至9。
    Gecko(Firefox 內(nèi)核):Netscape6 開始采用的內(nèi)核谭期,后來的 Mozilla FireFox(火狐瀏覽器) 也采用了該內(nèi)核堵第,Gecko 的特點是代碼完全公開吧凉,因此,其可開發(fā)程度很高踏志,全世界的程序員都可以為其編寫代碼阀捅,增加功能。因為這是個開源內(nèi)核狰贯,因此受到許多人的青睞也搓,Gecko 內(nèi)核的瀏覽器也很多,這也是 Gecko 內(nèi)核雖然年輕但市場占有率能夠迅速提高的重要原因涵紊。
    事實上傍妒,Gecko 引擎的由來跟 IE 不無關(guān)系,前面說過 IE 沒有使用 W3C 的標(biāo)準(zhǔn)摸柄,這導(dǎo)致了微軟內(nèi)部一些開發(fā)人員的不滿颤练;他們與當(dāng)時已經(jīng)停止更新了的 Netscape 的一些員工一起創(chuàng)辦了 Mozilla,以當(dāng)時的 Mosaic 內(nèi)核為基礎(chǔ)重新編寫內(nèi)核驱负,于是開發(fā)出了 Gecko嗦玖。不過事實上,Gecko 內(nèi)核的瀏覽器仍然還是 Firefox (火狐) 用戶最多跃脊,所以有時也會被稱為 Firefox 內(nèi)核宇挫。此外 Gecko 也是一個跨平臺內(nèi)核,可以在Windows酪术、 BSD器瘪、Linux 和 Mac OS X 中使用。

  • WebKit內(nèi)核代表作品Safari绘雁、Chromewebkit 是一個開源項目橡疼,包含了來自KDE項目和蘋果公司的一些組件,主要用于Mac OS系統(tǒng)庐舟,它的特點在于源碼結(jié)構(gòu)清晰欣除、渲染速度極快。缺點是對網(wǎng)頁代碼的兼容性不高挪略,導(dǎo)致一些編寫不標(biāo)準(zhǔn)的網(wǎng)頁無法正常顯示历帚。主要代表作品有Safari和Google的瀏覽器Chrome。
    一提到 webkit杠娱,首先想到的便是 chrome挽牢,可以說,chrome 將 Webkit內(nèi)核 深入人心墨辛,殊不知卓研,Webkit 的鼻祖其實是 Safari∨糠現(xiàn)在很多人錯誤地把 webkit 叫做 chrome內(nèi)核(即使 chrome內(nèi)核已經(jīng)是 blink 了)睹簇,蘋果都哭瞎了有木有奏赘。
    Safari 是蘋果公司開發(fā)的瀏覽器,使用了KDE(Linux桌面系統(tǒng))的 KHTML 作為瀏覽器的內(nèi)核太惠,Safari 所用瀏覽器內(nèi)核的名稱是大名鼎鼎的 WebKit磨淌。 Safari 在 2003 年 1 月 7 日首度發(fā)行測試版,并成為 Mac OS X v10.3 與之后版本的默認(rèn)瀏覽器凿渊,也成為蘋果其它系列產(chǎn)品的指定瀏覽器(也已支持 Windows 平臺)梁只。
    如上述可知,WebKit 前身是 KDE 小組的 KHTML 引擎埃脏,可以說 WebKit 是 KHTML 的一個開源的分支搪锣。當(dāng)年蘋果在比較了 Gecko 和 KHTML 后,選擇了后者來做引擎開發(fā)彩掐,是因為 KHTML 擁有清晰的源碼結(jié)構(gòu)和極快的渲染速度构舟。
    Webkit內(nèi)核 可以說是以硬件盈利為主的蘋果公司給軟件行業(yè)的最大貢獻之一。隨后堵幽,2008 年谷歌公司發(fā)布 chrome 瀏覽器狗超,采用的 chromium 內(nèi)核便 fork 了 Webkit。

  • Chromium/Bink 2008 年朴下,谷歌公司發(fā)布了 chrome 瀏覽器努咐,瀏覽器使用的內(nèi)核被命名為 chromium。
    chromium fork 自開源引擎 webkit殴胧,卻把 WebKit 的代碼梳理得可讀性提高很多渗稍,所以以前可能需要一天進行編譯的代碼,現(xiàn)在只要兩個小時就能搞定溃肪。因此 Chromium 引擎和其它基于 WebKit 的引擎所渲染頁面的效果也是有出入的免胃。所以有些地方會把 chromium 引擎和 webkit 區(qū)分開來單獨介紹,而有的文章把 chromium 歸入 webkit 引擎中惫撰,都是有一定道理的羔沙。
    谷歌公司還研發(fā)了自己的 Javascript 引擎,V8厨钻,極大地提高了 Javascript 的運算速度扼雏。
    chromium 問世后,帶動了國產(chǎn)瀏覽器行業(yè)的發(fā)展夯膀。一些基于 chromium 的單核诗充,雙核瀏覽器如雨后春筍般拔地而起,例如 搜狗诱建、360蝴蜓、QQ瀏覽器等等,無一不是套著不同的外殼用著相同的內(nèi)核。
    然而 2013 年 4 月 3 日茎匠,谷歌在 Chromium Blog 上發(fā)表 博客格仲,稱將與蘋果的開源瀏覽器核心 Webkit 分道揚鑣,在 Chromium 項目中研發(fā) Blink 渲染引擎(即瀏覽器核心)诵冒,內(nèi)置于 Chrome 瀏覽器之中凯肋。
    webkit 用的好好的,為何要投入到一個新的內(nèi)核中去呢汽馋?
    Blink 其實是 WebKit 的分支侮东,如同 WebKit 是 KHTML 的分支。Google 的 Chromium 項目此前一直使用 WebKit(WebCore) 作為渲染引擎豹芯,但出于某種原因悄雅,并沒有將其多進程架構(gòu)移植入Webkit。
    后來铁蹈,由于蘋果推出的 WebKit2 與 Chromium 的沙箱設(shè)計存在沖突煤伟,所以 Chromium 一直停留在 WebKit,并使用移植的方式來實現(xiàn)和主線 WebKit2 的對接木缝。這增加了 Chromium 的復(fù)雜性便锨,且在一定程度上影響了 Chromium 的架構(gòu)移植工作。
    基于以上原因我碟,Google 決定從 WebKit 衍生出自己的 Blink 引擎(后由 Google 和 Opera Software 共同研發(fā))放案,將在 WebKit 代碼的基礎(chǔ)上研發(fā)更加快速和簡約的渲染引擎,并逐步脫離 WebKit 的影響矫俺,創(chuàng)造一個完全獨立的 Blink 引擎吱殉。這樣以來,唯一一條維系 Google 和蘋果之間技術(shù)關(guān)系的紐帶就這樣被切斷了厘托。
    Google 和蘋果在多個領(lǐng)域都是競爭對手友雳,而唯獨在瀏覽器引擎上有技術(shù)合作,利益一致铅匹。但為了各自的利益押赊,誰都不會拿出 100% 的 "誠意" 來做好 WebKit,因為你做出來的成果競爭對手可以直接享用包斑。移動互聯(lián)網(wǎng)已經(jīng)崛起流礁,手機和平板設(shè)備端必將成為瀏覽器的另一個戰(zhàn)場。這個時候罗丰,如果 Google 跟蘋果仍然黏在一起神帅,將會嚴(yán)重阻礙雙方的進步,也會阻礙 WebKit 的進步萌抵。
    據(jù)說 Blink 刪除了 880w 行 webkit 代碼找御。
    至于為什么叫 blink元镀?有興趣的可以看下這篇訪談 Paul Irish on Chrome Moving to Blink,里面說

  • Presto內(nèi)核代表作品OperaPresto是由Opera Software開發(fā)的瀏覽器排版引擎霎桅,供Opera 7.0及以上使用凹联。它取代了舊版Opera 4至6版本使用的Elektra排版引擎,包括加入動態(tài)功能哆档,例如網(wǎng)頁或其部分可隨著DOM及Script語法的事件而重新排版
    Presto 是挪威產(chǎn)瀏覽器 opera 的 "前任" 內(nèi)核,為何說是 "前任"住闯,因為最新的 opera 瀏覽器早已將之拋棄從而投入到了谷歌大本營瓜浸。
    Opera 的一個里程碑作品是 Opera7.0,因為它使用了 Opera Software 自主開發(fā)的 Presto 渲染引擎比原,取代了舊版 Opera 4 至 6 版本使用的 Elektra 排版引擎插佛。該款引擎的特點就是渲染速度的優(yōu)化達到了極致,然而代價是犧牲了網(wǎng)頁的兼容性量窘。
    Presto 加入了動態(tài)功能雇寇,例如網(wǎng)頁或其部分可隨著 DOM 及 Script 語法的事件而重新排版。Presto 在推出后不斷有更新版本推出蚌铜,使不少錯誤得以修正锨侯,以及閱讀 Javascript 效能得以最佳化,并成為當(dāng)時速度最快的引擎冬殃。
    然而為了減少研發(fā)成本囚痴,Opera 在 2013 年 2 月宣布放棄 Presto,轉(zhuǎn)而跟隨 Chrome 使用 WebKit 分支的 Chromium 引擎作為自家瀏覽器核心引擎审葬,Presto 內(nèi)核的 Opera 瀏覽器版本永遠的停留在了 12.17深滚。在 Chrome 于 2013 年推出 Blink 引擎之后,Opera 也緊跟其腳步表示將轉(zhuǎn)而使用 Blink 作為瀏覽器核心引擎涣觉。
    Presto 與開源的 WebKit 和經(jīng)過谷歌加持的 Chromium 系列相比毫無推廣上的優(yōu)勢痴荐,這是 Opera 轉(zhuǎn)投 WebKit 的主要原因,并且使用 WebKit 內(nèi)核的 Opera 瀏覽器可以兼容谷歌 Chrome 瀏覽器海量的插件資源官册。但是換內(nèi)核的代價對于 Opera 來說過于慘痛生兆。使用谷歌的 WebKit 內(nèi)核之后,原本快速膝宁,輕量化皂贩,穩(wěn)定的 Opera 瀏覽器變得異常的卡頓,而且表現(xiàn)不穩(wěn)定昆汹,Opera 原本舊內(nèi)核瀏覽器書簽同步到新內(nèi)核上的工作 Opera 花了整整兩年時間明刷,期間很多 Opera 的用戶紛紛轉(zhuǎn)投谷歌瀏覽器和其他瀏覽器,造成了眾多的用戶流失满粗。時至今日現(xiàn)在還有上千萬人在使用老版本的 Opera辈末。
    很多人都認(rèn)為 Opera 瀏覽器終止在了 12.17,此后所更新的 Opera 版本號不再是原來那個 Opera。

  • 移動端的瀏覽器內(nèi)核主要說的是系統(tǒng)內(nèi)置瀏覽器的內(nèi)核挤聘。

目前移動設(shè)備瀏覽器上常用的內(nèi)核有 Webkit轰枝,Blink,Trident组去,Gecko 等鞍陨,其中 iPhone 和 iPad 等蘋果 iOS 平臺主要是 WebKit,Android 4.4 之前的 Android 系統(tǒng)瀏覽器內(nèi)核是 WebKit从隆,Android4.4 系統(tǒng)瀏覽器切換到了Chromium诚撵,內(nèi)核是 Webkit 的分支 Blink,Windows Phone 8 系統(tǒng)瀏覽器內(nèi)核是 Trident键闺。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末寿烟,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子辛燥,更是在濱河造成了極大的恐慌筛武,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,729評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件挎塌,死亡現(xiàn)場離奇詭異徘六,居然都是意外死亡,警方通過查閱死者的電腦和手機榴都,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,226評論 3 399
  • 文/潘曉璐 我一進店門硕噩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人缭贡,你說我怎么就攤上這事炉擅。” “怎么了阳惹?”我有些...
    開封第一講書人閱讀 169,461評論 0 362
  • 文/不壞的土叔 我叫張陵谍失,是天一觀的道長。 經(jīng)常有香客問我莹汤,道長快鱼,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,135評論 1 300
  • 正文 為了忘掉前任纲岭,我火速辦了婚禮抹竹,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘止潮。我一直安慰自己窃判,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 69,130評論 6 398
  • 文/花漫 我一把揭開白布喇闸。 她就那樣靜靜地躺著袄琳,像睡著了一般询件。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上唆樊,一...
    開封第一講書人閱讀 52,736評論 1 312
  • 那天宛琅,我揣著相機與錄音,去河邊找鬼逗旁。 笑死嘿辟,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的片效。 我是一名探鬼主播红伦,決...
    沈念sama閱讀 41,179評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼堤舒!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起哺呜,我...
    開封第一講書人閱讀 40,124評論 0 277
  • 序言:老撾萬榮一對情侶失蹤舌缤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后某残,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體国撵,經(jīng)...
    沈念sama閱讀 46,657評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,723評論 3 342
  • 正文 我和宋清朗相戀三年玻墅,在試婚紗的時候發(fā)現(xiàn)自己被綠了介牙。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,872評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡澳厢,死狀恐怖环础,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情剩拢,我是刑警寧澤线得,帶...
    沈念sama閱讀 36,533評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站徐伐,受9級特大地震影響贯钩,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜办素,卻給世界環(huán)境...
    茶點故事閱讀 42,213評論 3 336
  • 文/蒙蒙 一角雷、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧性穿,春花似錦勺三、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,700評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽揭措。三九已至,卻和暖如春刻蚯,著一層夾襖步出監(jiān)牢的瞬間绊含,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,819評論 1 274
  • 我被黑心中介騙來泰國打工炊汹, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留躬充,地道東北人。 一個月前我還...
    沈念sama閱讀 49,304評論 3 379
  • 正文 我出身青樓讨便,卻偏偏與公主長得像充甚,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子霸褒,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,876評論 2 361

推薦閱讀更多精彩內(nèi)容