瀏覽器大戰

Web開發者發表於2012-08-22

  瀏覽器大戰,若干年前,網景和微軟展開了基於瀏覽器的大戰。並且都在自己的產品之中定義了各自的web標準。微軟憑藉系統捆綁IE瀏覽器,網景敗陣。然後,若干年後,開源的Mozilla基金會打造了firefox火狐瀏覽器,讓這場戰爭延續著他的傳奇。新時代的web大戰,Google攜帶chrome,Apple開發了safari。使得瀏覽器江湖又一次血雨腥風。

  使用者肯定覺得奇怪,不就是幾款軟體麼,何來那麼多的選擇。可是,使用者也許沒有注意,瀏覽器的外觀之下,存在著標準之爭。但新技術平面而來的時候,那些守舊的力量還在頑愚抵抗。而這些形形色色瀏覽器到底有何種差別呢?歸根結底源自瀏覽器的核心。

  瀏覽器核心,Rendering Engine,中文可稱之為排版引擎、解釋引擎、渲染引擎,現在流行稱為瀏覽器核心。

  Rendering Engine,顧名思義,就是用來渲染網頁內容的,將網頁的程式碼轉換為最終你看得見的頁面。因為是排版,所以肯定會排版錯位等問題。為什麼會排版錯位呢?有的是由於網站本身編寫不規範,有的是由於瀏覽器本身的渲染不標準。

 核心的面紗

 1、Trident 核心(Windows)

  Trident 就是大名鼎鼎的 IE瀏覽器 所使用的核心,通常被稱為IE核心。基於Trident核心的瀏覽器非常多。老的Trident核心(比如常說的IE6核心)一直是不遵循W3C標準的,但是由於當時IE6的市場份額最大,所以後果就是大量的網頁專門為IE6等老Trident核心編寫,在IE6下顯示很正常,但其實這些網頁的程式碼並不符合W3C標準,於是,完全依據W3C標準寫的網頁在老的Trident核心下面又出現偏差,這就是為什麼很多人覺得後來的IE9的網頁排版有時會亂了,而IE6則正常,其實不是瀏覽器相容性差了,而是你訪問的網頁不符合新的標準。

  Trident核心的常見瀏覽器有:

  IE6、IE7、IE8(Trident 4.0)、IE9(Trident 5.0)、IE10(Trident 6.0);

  世界之窗、 360安全瀏覽器、傲遊;搜狗瀏覽器;騰訊TT;阿雲瀏覽器、百度瀏覽器、瑞星安全瀏覽器、Slim Browser; GreenBrowser、愛帆瀏覽器、115瀏覽器、155瀏覽器; 閃遊瀏覽器、N氧化碳瀏覽器、糖果瀏覽器、彩虹瀏覽器、瑞影瀏覽器、勇者無疆瀏覽器、114瀏覽器、螞蟻瀏覽器、飛騰瀏覽器、速達瀏覽器、佐羅瀏覽器;

  其中部分瀏覽器的新版本是“雙核”甚至是“多核”,其中一個核心是Trident,然後再增加一個其他核心。國內的廠商一般把其他核心叫做“高速瀏覽模式”,而Trident則是“相容瀏覽模式”,使用者可以來回切換。

 2、Gecko(跨平臺)

  Netscape6 啟用的核心,現在主要由Mozilla基金會進行維護,是開源的瀏覽器核心,目前最主流的Gecko核心瀏覽器是startMozilla Firefox,所以也常常稱之為火狐核心。因為Firefox的出現,IE的霸主地位逐步被削弱,Chrome的出現則是加速了這個程式。非Trident核心的興起正在改變著整個網際網路,最直接的就是推動了編碼的標準化,也使得微軟在競爭壓力下不得不改進IE。

 3、KHTML(Linux)

  KDE開發的核心,速度快捷,容錯度低。這個核心可能不見得很多人知道,但是後面再看下去你就明白了。常見的KHTML核心的瀏覽器:startKonqueror

 4、WebKit(跨平臺)

  由KHTML發展而來,也是蘋果給開源世界的一大貢獻。是目前最火熱的瀏覽器核心,火熱倒不是說市場份額,而是應用的面積和勢頭。因為是脫胎於KHTML,所以也是具有高速的特點,同樣遵循W3C標準。從目前看來,WebKit 核心是最有潛力而且是已經有相當成績的新興核心,效能非常好,而且對W3C標準的支援很完善,本人非常看好它。

  常見的WebKit核心的瀏覽器: Apple Safari (Win/Mac/iPhone/iPad)、Symbian手機瀏覽器、 Android 預設瀏覽器

 5、Chromium(跨平臺)

  其實 Chromium 就是 WebKit,維基百科裡面並沒有將Chromium從WebKit分出來。記得以前看過一個大牛的博文說過,Chromium把WebKit的程式碼梳理得可讀性提高很多,所以以前可能需要一天進行編譯的程式碼,現在只要兩個小時就能搞定。

  常見的Chromium核心的瀏覽器:Google Chrome、Chromium、SRWare Iron、Comodo Dragon

 6、Presto(跨平臺)

  Opera 所採用的核心,準確地說,是Opera 7.0及以後版本的核心,Opera 3.5-6.1版本使用的核心叫做Elektra。不用說,Presto對W3C標準的支援也是很良好的。Presto優先解析文字,保證可閱讀性,媒體資源的渲染放後。常見的Presto核心的瀏覽器:Opera。opera給人印象最深刻的就是,一直被模仿,一直被超越。

瀏覽器大戰

 IE之殤

  既然IE家族如此龐大,為什麼眾多web開發者會憎惡IE瀏覽器。很簡單,IE 不按照標準形事。自己特立獨行。就像大家都按照規則一起打牌,而IE玩的時候,卻只按照自己定義的規則遊戲。一般按照標準編寫的網頁,在chrome和firefox排版優美,一旦換了 IE,馬上雜亂無章,要想讓 IE 也正常顯示,又得編寫一堆程式碼。如果這樣還能忍耐,也能就是多勞動勞動。問題是 IE 的規則,還讓你摸不著頭腦,一個畫素就能玩死你。讓你的時間無情的遊走於 IE bug之間的捉迷藏。而且 IE 家族還有不少兄弟,世面上能見到的就有4只,IE6,IE7,IE8,IE9。每一個兄弟都有著自己的原則,渲染web的結果都不一樣。並且,由於中國的廠商,IE家族又多出了一堆親戚,搜狗瀏覽器,360瀏覽器等一堆三姑婆六姨媽之類。

  如果IE自成一家還可以忍耐,那麼IE家族對於html5和css3的缺乏有力的支援,則是對web開發者最大的坑爹。很多絢麗和或者有趣的效果,對於IE是一片空白。而新技術對於web,絕對是革命性的跨越。不僅讓開發者減輕了開發的工作量,還可以帶來使用者人性版的體驗。

  那麼有人會說,我就是IE的堅定粉絲,海枯石爛,一片真心。那麼您將失去體驗最好的web瀏覽和體驗效果。現在,整個web生態,都在重構頁面,使之遵循w3c標準,而這些是IE(9除外)所不支援的。

  而其他瀏覽器,無論chrome firefox,safari還是opera在效能或者體驗都比IE678強勢。就連微軟,都因為IE6的不標準之路,像全世界的web開發者道歉。

  並且chrome和firefox之間簡潔的外觀,無數的主題可以定製。還有不計其數的外掛,幫助你完成一系列有趣的事情。並且其安全性也優越於早期的IE(6,7,8).

  標準,迅速,安全,豐富的應用。微軟不得不在其最新的 IE 10,像這樣的方式靠攏,對於使用者,選擇肯定不能強制一種習慣。然後,標準化之路,對於開發和使用者,都是未來的選擇。

相關文章