1. Internet Explorer
IE開(kāi)發(fā)計(jì)劃開(kāi)始于1994年夏天筏勒,微軟為抵抗當(dāng)時(shí)主流的網(wǎng)景Netscape Navigator移迫,要在Windows中開(kāi)發(fā)適合自己的瀏覽器,但微軟并沒(méi)有時(shí)間從零開(kāi)始管行。因此和Spyglass合作厨埋,于是IE從早期一款商業(yè)性的專利網(wǎng)頁(yè)瀏覽器Spyglass Mosaic派生出來(lái),雖然Spyglass Mosaic與NCSA Mosaic(首款應(yīng)用得最廣泛的網(wǎng)頁(yè)瀏覽器)甚為相似捐顷,但Spyglass Mosaic則相對(duì)地較不出名并使用了NCSA Mosaic少量的源代碼荡陷。
1996年雨效,微軟通過(guò)給予季度費(fèi)用和部分收入從Spyglass中取得了Spyglass Mosaic的源代碼和授權(quán)。從而使IE逐漸成為微軟專屬軟件废赞。它采用的排版引擎(俗稱內(nèi)核)為T(mén)rident徽龟。每一次新的IE版本發(fā)布,也標(biāo)志著Trident內(nèi)核版本號(hào)的提升蛹头。
2. Safari
Safari是蘋(píng)果公司開(kāi)發(fā)的瀏覽器顿肺,使用了KDE(Linux桌面系統(tǒng))的KHTML作為瀏覽器的運(yùn)算核心,Safari所用瀏覽器內(nèi)核的名稱是大名鼎鼎的WebKit渣蜗。 Safari在2003年1月7日首度發(fā)行測(cè)試版屠尊,并成為Mac OS X v10.3與之后版本的默認(rèn)瀏覽器,也成為蘋(píng)果其它系列產(chǎn)品的指定瀏覽器(也已支持Windows平臺(tái))耕拷。
如上述可知讼昆,WebKit前身是KDE小組的KHTML引擎,可以說(shuō)WebKit是KHTML的一個(gè)開(kāi)源的分支骚烧。當(dāng)年蘋(píng)果在比較了Gecko和KHTML后浸赫,選擇了后者來(lái)做引擎開(kāi)發(fā),是因?yàn)镵HTML擁有清晰的源碼結(jié)構(gòu)和極快的渲染速度赃绊。
需要了解的是既峡,雖然我們稱WebKit為瀏覽器內(nèi)核(或?yàn)g覽器引擎),但不太適合直接稱之為我們開(kāi)頭提到的Rendering Engine(渲染引擎)碧查,因?yàn)閃ebKit本身主要是由兩個(gè)引擎構(gòu)成的运敢,一個(gè)正是渲染引擎“WebCore”,另一個(gè)則是javascript解釋引擎“JSCore”忠售,它們均是從KDE的渲染引擎KHTML及javascript解釋引擎KJS衍生而來(lái)传惠。
在2010年4月,蘋(píng)果公司宣布了其瀏覽器引擎Webkit的最新項(xiàng)目 Webkit2稻扬。Webkit2的目標(biāo)是實(shí)現(xiàn)獨(dú)立進(jìn)程與非阻斷式API卦方。
WebKit可以說(shuō)是蘋(píng)果公司給開(kāi)源世界的一大貢獻(xiàn),基于此開(kāi)源引擎泰佳,衍生了多個(gè)WebKit分支盼砍,如下面要介紹的Chrome的瀏覽器引擎。
3. Chrome / Chromium
谷歌Chrome/Chromium瀏覽器從08年創(chuàng)始至今一直使用蘋(píng)果公司的WebKit作為瀏覽器內(nèi)核原型乐纸,是WebKit的一個(gè)分支衬廷,我們可以稱之為Chromium引擎(注意我們這里說(shuō)的是Chromium引擎,而不是Chromium瀏覽器)汽绢。
這里順便介紹下Chrome和Chromium兩個(gè)瀏覽器的區(qū)別——Chromium瀏覽器是谷歌為發(fā)展自家的瀏覽器Chrome而開(kāi)啟的計(jì)劃,所以Chromium相當(dāng)于Chrome的工程版或稱實(shí)驗(yàn)版(盡管Chrome自身也有β版階段)侧戴,新功能會(huì)率先在Chromium上實(shí)現(xiàn)宁昭,待驗(yàn)證后才會(huì)應(yīng)用在Chrome上跌宛。Chromium一天最多可以更新十幾二十個(gè)版本,實(shí)驗(yàn)性的新特性都會(huì)現(xiàn)在這里放出积仗,但是Chromium本身其實(shí)并不穩(wěn)定疆拘;而Chrome總共有四個(gè)更新分支:Canary、Dev寂曹、Beta哎迄、Stable,穩(wěn)定性依次增強(qiáng)隆圆。
我們說(shuō)回引擎漱挚。Chromium引擎雖然是屬于WebKit的分支,卻把WebKit的代碼梳理得可讀性提高很多渺氧,所以以前可能需要一天進(jìn)行編譯的代碼旨涝,現(xiàn)在只要兩個(gè)小時(shí)就能搞定。因此Chromium引擎和其它基于WebKit的引擎所渲染頁(yè)面的效果也是有出入的侣背“谆基于以上原因,有的地方會(huì)把Chromium引擎跟WebKit區(qū)分開(kāi)來(lái)贩耐,有的地方則直接把Chromium引擎歸為WebKit(比如維基百科)弧腥,其實(shí)都有其道理。
然而在13年發(fā)布的Chrome 28.0.1469.0版本開(kāi)始潮太,Chrome放棄Chromium引擎轉(zhuǎn)而使用最新的Blink引擎(基于WebKit2——蘋(píng)果公司于2010年推出的新的WebKit引擎)管搪,Blink對(duì)比上一代的引擎精簡(jiǎn)了代碼、改善了DOM框架消别,也提升了安全性抛蚤。
4. Opera
Opera瀏覽器,是一款挪威Opera Software ASA公司制作的支持多頁(yè)面標(biāo)簽式瀏覽的網(wǎng)絡(luò)瀏覽器寻狂。是跨平臺(tái)瀏覽器可以在Windows岁经、Mac和Linux三個(gè)操作系統(tǒng)平臺(tái)上運(yùn)行。Opera瀏覽器創(chuàng)始于1995年4月蛇券,到2014年3月4日缀壤,官方發(fā)布的個(gè)人電腦用的最新版本為Opera20。
Opera的一個(gè)里程碑作品是Opera7.0纠亚,因?yàn)樗褂昧薕pera Software自主開(kāi)發(fā)的Presto渲染引擎塘慕,取代了舊版Opera 4至6版本使用的Elektra排版引擎。
Presto加入了動(dòng)態(tài)功能蒂胞,例如網(wǎng)頁(yè)或其部分可隨著DOM及Script語(yǔ)法的事件而重新排版图呢。Presto在推出后不斷有更新版本推出,使不少錯(cuò)誤得以修正,以及閱讀Javascript效能得以最佳化蛤织,并成為當(dāng)時(shí)速度最快的引擎赴叹。
然而為了減少研發(fā)成本,Opera在2013年2月宣布放棄Presto指蚜,轉(zhuǎn)而跟隨Chrome使用WebKit分支的Chromium引擎作為自家瀏覽器核心引擎乞巧。
在Chrome與2013年推出Blink引擎(也是基于WebKit的分支)之后,Opera也緊跟其腳步表示將轉(zhuǎn)而使用Blink作為瀏覽器核心引擎摊鸡。
5. Firefox
Mozilla Firefox是一個(gè)開(kāi)源網(wǎng)頁(yè)瀏覽器绽媒,原名是Firebird,2004年2月9日免猾,Mozilla Firebird決定改稱Mozilla Firefox是辕。Firefox瀏覽器使用的是Gecko內(nèi)核,其發(fā)展歷程如下:
1997年掸刊,網(wǎng)景收購(gòu)了DigitalStyle免糕。當(dāng)時(shí),網(wǎng)景瀏覽器在各方面的表現(xiàn)已經(jīng)比不上她的主要競(jìng)爭(zhēng)對(duì)手Internet Explorer忧侧。網(wǎng)景開(kāi)始研發(fā)下一代的排版引擎石窑,并期望把新的排版引擎應(yīng)用于下一版本的網(wǎng)景瀏覽器上。
1998年初蚓炬,Mozilla計(jì)劃開(kāi)始執(zhí)行松逊。這個(gè)新的排版引擎名為Raptor肯夏,以開(kāi)發(fā)源碼的方式發(fā)放于互聯(lián)網(wǎng)上经宏。后來(lái)驯击,因?yàn)樯虡?biāo)問(wèn)題,Raptor改名為NGLayout(即next generation layout之意)徊都。而最后NGLayout就被網(wǎng)景重新命名為Gecko沪斟。
2003年7月15日時(shí)代華納解散了網(wǎng)景公司,大部分開(kāi)發(fā)者被解雇暇矫。Mozilla基金會(huì)亦在當(dāng)天成立主之,繼續(xù)推動(dòng)著Gecko的發(fā)展李根。時(shí)至今天,Gecko仍繼續(xù)由Mozilla的雇員和義工所維護(hù)和發(fā)展房轿。