目前主流的瀏覽器有5大款,分別是Google、IE、Firefox、Safari、Opera。其中最流行的是google的開源Chromium體系,包括blink渲染引擎和JSv8解析引擎。微軟和Opera也紛紛選擇了Chromium作為自己的瀏覽器內(nèi)核。
瀏覽器最重要的部分是瀏覽器的內(nèi)核,是瀏覽器的核心,也稱渲染引擎,用來解釋網(wǎng)頁的語法并渲染到網(wǎng)頁上。其中內(nèi)核可以分為兩部分,一部分是渲染引擎(renderengineer或layoutengineer),其負(fù)責(zé)生成DOM樹,負(fù)責(zé)渲染和重繪;另一部分是JS引擎,負(fù)責(zé)JS的解析、編譯與解釋執(zhí)行。現(xiàn)在通常將html/css的渲染引擎和js解析引擎分離開來。
渲染引擎內(nèi)核分別有trident、webkit、blink、gecko等:
1、Trident內(nèi)核(Windows)
Trident就是IE瀏覽器所使用的內(nèi)核,也是很多瀏覽器所使用的內(nèi)核,通常被稱為IE內(nèi)核。目前基本快消亡。
2、Gecko(跨平臺(tái))
Netscape6啟用的內(nèi)核,現(xiàn)在主要由Mozilla基金會(huì)進(jìn)行維護(hù),是開源的瀏覽器內(nèi)核,目前最主流的Gecko內(nèi)核瀏覽器是MozillaFirefox,所以也常常稱之為火狐內(nèi)核。非常小眾人群使用。
3、WebKit(跨平臺(tái))
由KHTML發(fā)展而來,蘋果給開源世界的一大貢獻(xiàn)。是目前火熱的瀏覽器內(nèi)核,火熱倒不是說市場份額,而是應(yīng)用的面積和勢頭。因?yàn)槭敲撎ビ贙HTML,所以也是具有高速的特點(diǎn),同樣遵循W3C標(biāo)準(zhǔn)。仍然占有少部分市場。
4、Presto(跨平臺(tái))
Opera所采用的內(nèi)核,準(zhǔn)確地說,是Opera7.0及以后版本的內(nèi)核,Opera3.5-6.1版本使用的內(nèi)核叫做Elektra。目前已經(jīng)死掉。
5、Blink內(nèi)核(跨平臺(tái)),由Google和OperaSoftware共同開發(fā)的瀏覽器內(nèi)核,基于webkit。現(xiàn)在Chrome(28及往后版本)、Opera(15及往后版本)的Webkit內(nèi)核換成了Blink內(nèi)核。目前chrome已經(jīng)是70多的版本了。目前最流行的渲染引擎,預(yù)計(jì)blink將壟斷渲染引擎市場。
JS解析引擎包括:
1、Chakra,IE9啟用的JavaScript引擎。
2、SpiderMonkey/TraceMonkey/JaegerMonkey
SpiderMonkey應(yīng)用在MozillaFirefox1.0-3.0,TraceMonkey應(yīng)用在MozillaFirefox3.5-3.6版本,JaegerMonkey應(yīng)用在MozillaFirefox4.0及后續(xù)的版本。
3、V8應(yīng)用于Chrome,現(xiàn)在同時(shí)應(yīng)用于后臺(tái)node環(huán)境。目前最火熱的引擎,發(fā)展迅猛。
4、Nitro應(yīng)用于Safari4及后續(xù)的版本。
5、LinearA/LinearB/Futhark/Carakan
LinearA應(yīng)用于Opera4.0-6.1版本,LinearB應(yīng)用于Opera7.0~9.2版本,F(xiàn)uthark應(yīng)用于Opera9.5-10.2版本,Carakan應(yīng)用于Opera10.5及后續(xù)的版本。
6、KJSKHTML對(duì)應(yīng)的JavaScript引擎。
根據(jù)最新的統(tǒng)計(jì)顯示,全球?yàn)g覽器市場份額最大的幾家廠商及其排名分別是:GoogleChrome、MozillaFirefox、InternetExplorer、MicrosoftEdge、Opera及Safari,國內(nèi)的主要瀏覽器UC、QQ瀏覽器、搜狗、360,百度等。
在手機(jī)上瀏覽器內(nèi)核就是Chromium和Safari兩者,Safari因?yàn)樘O果操作系統(tǒng)緣故仍占有少部分份額。其他幾家均沒有市場。
除了國外瀏覽器有自己的內(nèi)核外,中國沒有任何瀏覽器有自己的渲染引擎或解析引擎,全都是套殼瀏覽器。這也是為何中國在信息科技領(lǐng)域缺乏核心技術(shù)的例證之一。現(xiàn)在瀏覽器越來越復(fù)雜,與操作系統(tǒng)類似,提供了強(qiáng)大的運(yùn)行平臺(tái)。而我們國家并沒有相關(guān)的技術(shù)也沒有相應(yīng)的投入,有的只是拿來主義,通過開源框架按照本地習(xí)慣改一下UI界面。
如果把瀏覽器做個(gè)拆分,其組成部分主要有:用戶界面、瀏覽器引擎、渲染引擎、網(wǎng)絡(luò)、JS解釋器、UI后端、數(shù)據(jù)存儲(chǔ)7個(gè)部分。而這些核心技術(shù),可惜都是舶來品。但國內(nèi)的開發(fā)者也很聰明,開創(chuàng)性發(fā)明了雙核瀏覽器。360瀏覽器、獵豹瀏覽器都是采用IE+Chrome雙內(nèi)核,搜狗、遨游、QQ瀏覽器也是雙內(nèi)核:Trident(兼容模式)+Webkit(高速模式);UC瀏覽器電腦版采用Blink內(nèi)核和Trident內(nèi)核,百度瀏覽器、世界之窗內(nèi)核都是單核(IE內(nèi)核)。
如果要選擇瀏覽器內(nèi)核毫無疑問是chromium體系的的blink+v8。但隨著中美貿(mào)易戰(zhàn)升級(jí),美國對(duì)中國核心技術(shù)封鎖和掣肘,中國的大型互聯(lián)網(wǎng)公司以及手機(jī)廠商應(yīng)該明白,自研操作系統(tǒng)以及瀏覽器內(nèi)核已經(jīng)迫在眉睫了。