瀏覽器最核心的部分是渲染引擎(Rendering Engine)晤碘,我們一般習慣稱為"瀏覽器內(nèi)核"衍锚,其負責解析網(wǎng)頁語法(如標準通用標記語言的子集HTML友题、JavaScript)并渲染、展示網(wǎng)頁戴质。因此度宦,所謂的瀏覽器內(nèi)核通常也就是指瀏覽器所采用的渲染引擎,渲染引擎決定了瀏覽器如何顯示網(wǎng)頁的內(nèi)容以及頁面的格式信息告匠。不同的瀏覽器內(nèi)核對網(wǎng)頁編寫語法的解析也有所不同戈抄,因此同一網(wǎng)頁在不同的內(nèi)核瀏覽器里的渲染、展示效果也可能不同后专。
?下面介紹幾種主流瀏覽器的內(nèi)核發(fā)展
Internet?Explorer:
很多人一談到瀏覽器就會想到Internet?Explorer划鸽,我們簡稱它為IE。IE的內(nèi)核即Trident戚哎,該內(nèi)核程序在1997年的IE4中首次被采用裸诽,是微軟在Mosaic代碼的基礎之上修改而來的。確實在生活中用到最多的就是這個瀏覽器了建瘫,很多人只用這個瀏覽器,甚至有些人在意識里只有這個瀏覽器崭捍。但是Internet Explorer只是瀏覽器里的一個。最新的版本是IE11啰脚,版本號是11.0.9600.17358殷蛇,預裝在windows8.1中实夹。
Safari:
Safari是蘋果公司開發(fā)的瀏覽器,Safari所用瀏覽器內(nèi)核的是WebKit粒梦。?Safari在2003年1月7日首度發(fā)行測試版亮航,并成為Mac?OS?X?v10.3與之后版本的默認瀏覽器,也成為蘋果其它系列產(chǎn)品的指定瀏覽器匀们。????
需要了解的是缴淋,雖然我們稱WebKit為瀏覽器內(nèi)核,但不太適合直接稱之為我們開頭提到的Rendering?Engine(渲染引擎)泄朴,因為WebKit本身主要是由兩個引擎構(gòu)成的重抖,一個正是渲染引擎“WebCore”,另一個則是javascript解釋引擎“JSCore”祖灰,它們均是從KDE的渲染引擎KHTML及javascript解釋引擎KJS衍生而來钟沛。
在2010年4月,蘋果公司宣布了其瀏覽器引擎Webkit的最新項目?Webkit2局扶。Webkit2的目標是實現(xiàn)獨立進程與非阻斷式API恨统。
?
Chrome:
????????谷歌Chrome瀏覽器內(nèi)核是Blink,從08年創(chuàng)始至今一直使用蘋果公司的WebKit作為瀏覽器內(nèi)核原型三妈,是WebKit的一個分支畜埋,我們可以稱之為Chromium引擎。
這里順便介紹下Chrome和Chromium兩個瀏覽器的區(qū)別——Chromium瀏覽器是谷歌為發(fā)展自家的瀏覽器Chrome而開啟的計劃畴蒲,所以Chromium相當于Chrome的工程版或稱實驗版(盡管Chrome自身也有β版階段)悠鞍,新功能會率先在Chromium上實現(xiàn),待驗證后才會應用在Chrome上饿凛。Chromium一天最多可以更新十幾二十個版本狞玛,實驗性的新特性都會現(xiàn)在這里放出,但是Chromium本身其實并不穩(wěn)定涧窒;而Chrome總共有四個更新分支:Canary、Dev锭亏、Beta纠吴、Stable,穩(wěn)定性依次增強慧瘤。盡管上面一眾經(jīng)常被統(tǒng)稱為 WebKit戴已,實際上各自都使用了自己的 WebKit 分支或者編譯時選項,使得最終的渲染結(jié)果也是存在一定的差異的锅减。不過大體上 WebKit 社區(qū)內(nèi)部還是比較和諧的糖儡,各個成員之間也為維持兼容性作出了努力,直到 2010 年隨著 OS X Lion 一起面世的 WebKit2怔匣。由于 WebKit2 在 WebCore 層面上實現(xiàn)的進程隔離在一定程度上與 Google Chrome/Chromium 自己的沙箱設計存在沖突握联,故 Google Chrome/Chromium 一直停留在 WebKit,使用 Backport 的方式實現(xiàn)和主線 WebKit2 的兼容。顯而易見這增加了 WebKit 和 Chromium 的復雜性金闽,且在一定程度上影響了 Chromium 的架構(gòu)移植工作纯露。然而在13年發(fā)布的Chrome?28.0.1469.0版本開始,Chrome放棄Chromium引擎轉(zhuǎn)而使用最新的Blink引擎(基于WebKit2——蘋果公司于2010年推出的新的WebKit引擎)代芜,Blink對比上一代的引擎精簡了代碼埠褪、改善了DOM框架,也提升了安全性挤庇。
?
Firefox:
????????Mozilla?Firefox是一個開源網(wǎng)頁瀏覽器钞速,原名是Firebird,2004年2月9日嫡秕,Mozilla?Firebird決定改稱Mozilla?Firefox渴语。Firefox瀏覽器使用的是Gecko內(nèi)核,其發(fā)展歷程如下:
?1997年淘菩,網(wǎng)景收購了DigitalStyle遵班。當時,網(wǎng)景瀏覽器在各方面的表現(xiàn)已經(jīng)比不上她的主要競爭對手Internet?Explorer潮改。網(wǎng)景開始研發(fā)下一代的排版引擎狭郑,并期望把新的排版引擎應用于下一版本的網(wǎng)景瀏覽器上。
????????1998年初汇在,Mozilla計劃開始執(zhí)行翰萨。這個新的排版引擎名為Raptor,以開發(fā)源碼的方式發(fā)放于互聯(lián)網(wǎng)上糕殉。后來亩鬼,因為商標問題,Raptor改名為NGLayout(即next?generation?layout之意)阿蝶。而最后NGLayout就被網(wǎng)景重新命名為Gecko雳锋。
????????2003年7月15日時代華納解散了網(wǎng)景公司,大部分開發(fā)者被解雇羡洁。Mozilla基金會亦在當天成立玷过,繼續(xù)推動著Gecko的發(fā)展。時至今天筑煮,Gecko仍繼續(xù)由Mozilla的雇員和義工所維護和發(fā)展辛蚊。
幾個主流瀏覽器優(yōu)缺點比較