覽器內核又可以分成兩部分:渲染引擎(layout engineer 或者 Rendering Engine)和 JS 引擎。
渲染引擎它負責取得網頁的內容(HTML、XML、圖像等等)、整理訊息(例如加入 CSS 等),以及計算網頁的顯示方式,然后會輸出至顯示器或打印機。瀏覽器的內核的不同對于網頁的語法解釋會有不同,所以渲染的效果也不相同。
JS 引擎則是解析 Javascript 語言,執行 javascript語言來實現網頁的動態效果。
HTML
最開始渲染引擎和 JS 引擎并沒有區分的很明確,后來 JS 引擎越來越獨立,內核就傾向于只指渲染引擎。有一個網頁標準計劃小組制作了一個 ACID 來測試引擎的兼容性和性能。內核的種類很多,如加上沒什么人使用的非商業的免費內核,可能會有10多種,但是常見的瀏覽器內核可以分這四種:Trident、Gecko、Blink、Webkit。
主流瀏覽器
(1)Trident(IE內核)
國內很多的雙核瀏覽器的其中一核便是 Trident,美其名曰 "兼容模式"。
代表: IE、傲游、世界之窗瀏覽器、Avant、騰訊TT、獵豹安全瀏覽器、360極速瀏覽器、百度瀏覽器等。
Window10 發布后,IE 將其內置瀏覽器命名為 Edge,Edge 最顯著的特點就是新內核 EdgeHTML。
(2)Gecko(firefox)
Gecko(Firefox 內核): Mozilla FireFox(火狐瀏覽器) 采用該內核,Gecko 的特點是代碼完全公開,因此,其可開發程度很高,全世界的程序員都可以為其編寫代碼,增加功能。 可惜這幾年已經沒落了, 比如 打開速度慢、升級頻繁、豬一樣的隊友flash、神一樣的對手chrome。
(3) webkit(Safari)
Safari 是蘋果公司開發的瀏覽器,所用瀏覽器內核的名稱是大名鼎鼎的 WebKit。
現在很多人錯誤地把 webkit 叫做 chrome內核(即使 chrome內核已經是 blink 了),蘋果感覺像被別人搶了媳婦,都哭暈再廁所里面了。
代表瀏覽器:傲游瀏覽器3、 Apple Safari (Win/Mac/iPhone/iPad)、Symbian手機瀏覽器、Android 默認瀏覽器,
(4) Chromium/Blink(chrome)
在 Chromium 項目中研發 Blink 渲染引擎(即瀏覽器核心),內置于 Chrome 瀏覽器之中。Blink 其實是 WebKit 的分支。
大部分國產瀏覽器最新版都采用Blink內核。二次開發
(5) Presto(Opera)
Presto(已經廢棄) 是挪威產瀏覽器 opera 的 "前任" 內核,為何說是 "前任",因為最新的 opera 瀏覽器早已將之拋棄從而投入到了谷歌懷抱了。
移動端的瀏覽器內核主要說的是系統內置瀏覽器的內核。
手機瀏覽器
Android手機而言,使用率最高的就是Webkit內核,大部分國產瀏覽器宣稱的自己的內核,基本上也是屬于webkit二次開發。
iOS以及WP7平臺上,由于系統原因,系統大部分自帶瀏覽器內核,一般是Safari或者IE內核Trident的
:Trident內核:由微軟開發,曾經是Internet Explorer(IE)瀏覽器使用的內核,也被其他一些基于IE技術的瀏覽器(如早期的360瀏覽器、搜狗瀏覽器等)采用。Trident內核因其與IE緊密關聯,有時也被稱作“IE內核”。
二: Gecko內核:由Mozilla基金會開發,是Firefox瀏覽器及其他基于Firefox技術的瀏覽器(如早期的Netscape 6及以上版本)的核心。Gecko內核以其對Web標準的良好支持、高度可定制性和開放源碼而知名。
三: WebKit內核:最初由蘋果公司基于KHTML項目開發,用于Safari瀏覽器。WebKit因其輕量級、高性能的特點被廣泛應用于多個瀏覽器和移動平臺上的瀏覽器應用,如早期的Google Chrome、Opera Mini以及許多第三方瀏覽器(如某些時期的楓樹瀏覽器、傲游瀏覽器等)。
四: Presto內核:由挪威Opera Software公司開發,曾用于舊版Opera瀏覽器。Presto以快速渲染速度著稱,但隨著時間推移,其對新興Web標準的支持逐漸落后,且維護成本較高。
五: Blink內核:基于WebKit分支發展而來,由Google主導創建并用于Chrome瀏覽器。后來,包括Opera在內的許多瀏覽器也轉向使用Blink內核。Blink旨在提供更快的迭代速度和更現代化的架構。Microsoft Edge自某個版本開始也從其原有的EdgeHTML內核切換至Blink內核。
對接下來很多應屆生面臨找工作面試的問題,我將會總結一些前端面試常見的問題和大家分享。希望能幫助到即將進入職場的同學們。話不多說,我們開始吧。
Trident內核:也是俗稱的IE內核。IE,MaxThon,TT,The World,360,搜狗瀏覽器等。[又稱MSHTML]。bug多,對w3c標準的支持不是很好。
Gecko內核:Netscape6及以上版本,FF,MozillaSuite/SeaMonkey等。支持很多復雜網頁效果,但是能耗高,占內存。
Webkit內核:Safari,Chrome等。[ Chrome的:Blink(WebKit的分支)]。速度僅次于presto,兼容性較好。
Presto內核:Opera7及以上。[Opera內核原為:Presto,現為:Blink;]。公認的瀏覽網頁速度最快的內核,處理js時比其他內核快3倍左右。但是網頁兼容性不太好。
希望能對你有幫助,歡迎你給我留言。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。