瀏覽器發展
作為訪問internet的工具,瀏覽器已經成為我們日常生活中必不可少的上網工具了,它能讓你加入全球的網絡,通過一個窗口就能夠連接世界。當你用瀏覽器時有沒有想過瀏覽器的發展歷史?面對市場上繁多的瀏覽器你又為什么偏愛你現在用的?
chrome
來自Net Market Share的統計數據顯示,2015年8月IE瀏覽器仍然占據全球瀏覽器排行榜首位,總市場份額為52.17%,與7月的53.47%相比繼續下降;Chrome瀏覽器排名第二位,最新市場份額為29.49%,和2015年7月份市占率數據27.66%相比也有小幅增長;Firefox火狐瀏覽器以11.68%的市場份額位 居第三位,7月份的市場份額為12%,稍有下降。
而來自StatCounter的數據表明chrome瀏覽器已經排名第一,StartCounter的數據之所以和Net Market Share有很大的差別,據說是因為弱化了中國使用瀏覽器的數據。
chrome是google于2008年9月發布的一款瀏覽器,以其“快速、簡單、安全”的特點在短短幾年占領份額第一。除了chrome,目前主流的瀏覽器還有IE,Firefox,Safari和Opera,國內的有遨游,世界之窗,搜狗瀏覽器,360安全瀏覽器,QQ瀏覽器、獵豹瀏覽器等。
起源
要說瀏覽器的歷史,要從1994年開始,那一年網景通信公司推出了代號為“網景導航者”的網景瀏覽器1.0,隨后迭代版本迅速占領瀏覽器大部分份額。這公司一看瀏覽器業務這么好,那干脆試著做一個操作系統得了,微軟意識到網景通訊公司對其操作系統和應用市場的威脅,立馬收購另外一家瀏覽器公司,在其基礎上開發了Internet Explorer,微軟的操作系統和IE瀏覽器捆綁銷售,想想當時的場景,安裝一個微軟的操作系統沒有瀏覽器,還需要再花錢買一張網景瀏覽器軟件安裝在電腦上才能上網,盡管網景瀏覽器很好用,但這樣也很麻煩。微軟操作系統中直接帶有瀏覽器,試問還有誰愿意去在花錢買個瀏覽器軟件?所以IE立馬占領了瀏覽器市場。1998年1月,網景與微軟IE瀏覽器競爭失利以后,為了挽回市場,網景通信公司公布旗下所有軟件以后的版本皆為免費,并開放網景瀏覽器的源代碼,成立了非正式組織Mozilla,自此Mozilla瀏覽器開始登上舞臺。可惜的是盡管Mozilla、opera瀏覽器很好用,可微軟操作系統的市場占有率很大,造成其他瀏覽器的市場份額一直不變。IE坐在份額第一的頭把交椅后,卻一直不思進取,自己制作一套web標準,也不怎么支持html,javascript,css這些web技術的新版本特性,微軟從ie6開始到ie8七八年間幾乎沒對瀏覽器做什么革新,大家都適應了IE,什么補丁、不安全、崩潰也不在意,也覺得瀏覽器就該如此。可現實就是這么捉摸不定,變幻莫測,2008年chrome橫空出世。界面簡潔、加載快速、數據安全等這些特點讓chrome的市場份額逐步攀升。當微軟意識到chrome開始逐步侵蝕自己的市場時,開始頻繁更新IE,2011年IE9發布,2012年IE10發布,2013年IE11發布,最后IE的代碼實在適應不了新的要求的web技術,就重新開發了一個名為”edge"的瀏覽器用來取代IE,但還是擋不住chrome成為市場份額第一的命運。在IE橫行的那一段時間為了適應IE中國的大多數常用網站也不大符合互聯網標準,也就是說如果用符合互聯網標準的瀏覽器去解析這些網站,反而會不正常顯示,可見IE坐頭把交椅的這幾年,卻一直在誤導和阻撓互聯網的發展,悲哉啊。在此要向那些不斷創新、不斷完善、不斷接納新web技術的瀏覽器公司,面對IE他們的市場份額不高,卻仍然堅持著不斷前進。
國產瀏覽器起源
自從chrome瀏覽器出現后,就出現了很多國產瀏覽器,這是后話,其實國產瀏覽器的起源于IE,一位網名為changyou(暢游)的程序員于1999年在論壇上發布一款叫”MyIE"的瀏覽器,基于IE,但采用多窗口瀏覽,占用系統資源比IE6少很多,且有鼠標手勢、視覺化書簽等功能,后來的中國瀏覽器MyIE2(后改名Maxthon)、網際暢游(后改名GreenBrowser)與TheWorld(世界之窗)等都是用MyIE的源代碼改寫完成。這幾款瀏覽器都不是開發MyIE那位維護的,MyIE版本到3.2版本后就再也沒有更新過,“暢游”這個人也消失不見了。后來呢遨游成立公司獨自運營,TheWorld被360收購變成了360安全瀏覽器。
悲催的遨游
遨游是極少數支持全平臺(Android手機/平板, Mac, iPhone/iPad, Windows Phone 和 Linux)的瀏覽器,一直堅持底層開發,連續獲得三次CNETWebware100大獎,在2010年推出“雙核瀏覽”概念,即一個瀏覽器擁有Webkit+IE兩個內核,用戶可以快捷切換,因為大多數網站排版和網上支付大多是在IE的基礎上開發的,用新的內核根本沒法正常瀏覽或使用,這算是對中國大多數被IE毒害的網站的一種妥協。但是可悲的是幾乎在同一時間搜狗瀏覽器也推出“雙核”概念,但不同的是搜狗擁有chromium+IE兩個雙核。chromium是google基于webkit開發的一款開源瀏覽器,加上商標它就是chrome瀏覽器,這樣一來搜狗就相當于站在google的肩膀上,相比遨游自主開發可是省勁的多。后來“雙核”幾乎成了國產瀏覽器的標配,遨游的“雙核”也就不再成為核心競爭力,反而因為要維護自主開發的webkit內核,變得步履緩慢,再加上有全球的開發者為chrome web store開發chrome插件,這些插件可以直接用在chromium引擎上,基于chromium的其他國產瀏覽器可以不費力氣的利用了這個瀏覽器插件市場,由此看來遨游的未來堪憂,此處再次感慨世事變幻莫測,一聲長嘆。
chromium
下面說說國產瀏覽器近幾年一下子為什么會這么多的原因,首先大家都認識到瀏覽器是互聯網的入口,是推廣自家產品的最佳工具,如果大家都用了我的瀏覽器,那我在瀏覽器的顯要位置放上自己的產品豈不是很容易,其次google創建了一個開源瀏覽器引擎Chromium項目,這樣一來做一個簡單、快速、安全的瀏覽器就很容易,為什么不做呢!那chromium是個什么鬼?
Chromium 是 Google 的chrome瀏覽器背后的引擎,其目的是為了創建一個安全、穩定和快速的通用瀏覽器,使用Chromium開源代碼(基于webkit內核)的瀏覽器有360極速瀏覽器、楓樹瀏覽器、太陽花瀏覽器、世界之窗極速版、UC瀏覽器電腦版、搜狗高速瀏覽器和qq瀏覽器等。
google一直堅持開源這個態度,Chromium和android一樣開源的同時快速迭代產品,從而混亂現有格局,態度是好的,結果也不賴,一舉兩得。
Chrome OS
google估計對操作系統這塊一直不甘心,身為一個和微軟、蘋果并肩的互聯網公司,看著windows和Mac在那斗來斗去沒自己什么事兒實在尷尬。但操作系統開源的有linux,商業的有windows,Mac,自己如何做一個放眼未來與眾不同的PC操作系統呢?chrome瀏覽器這么成功,要不弄一個chrome os吧。chrome os基于linux內核設計,可以理解為在Linux的內核上運行一個使用新的窗口系統的Chrome瀏覽器,也就是說這個操作系統中除了驅動只有一個chrome瀏覽器,google把目標定位在了上網本,因為是基于“云概念”,所以辦公和文件全部儲存在云端,這樣電腦可以省去硬盤等一部分硬件,從而降低售價。同時2010年google發布了chrome os并開放源代碼,準備來android,chrome的老套路,2010年下半年google聯合幾大電腦廠商開始銷售上網本。可惜的是上網本受同年喬幫主發布的iPad影響,從2010年到2012年兩年間市場被壓榨的所剩無幾,chrome os至今沒有個像樣的業績,連自家另外一個產品android也不得不跳著版本針對平板做大更新。時間表如下:
時間表
-
2007年
華碩率先憑借EeePC產品開創了上網本概念。 -
2010年1月27日
蘋果發布iPad。 -
2010年12月8日
谷歌發布上網本操作系統chrome os 新系統的口號是,“一切皆在網絡”(Nothing but the web)。 -
2011年2月2日
發布Honeycomb(蜂巢)3.0版本,主要針對平板優化。 -
2012年
上網本受平板電腦影響市場無人問津。
PC瀏覽器內核
常見的瀏覽器內核有一下幾個,幾個...
-
1997年
Trident -
1998年
KHTML -
2000年
Gecko -
2001年
WebKit -
2003年
Presto -
2008年
Chromium -
2010年
混合引擎(雙核) -
2013年
Blink -
2015年
EdgeHTML
關于瀏覽器內核此處介紹的非常詳細不再詳述,在此只介紹幾個有趣的事情,先上家譜。
WebKit
維基百科這樣介紹webkit:
KHTML擁有速度快捷的優點,但對錯誤語法的容忍度則比Mozilla產品所使用的Gecko引擎小。蘋果電腦于2002年采納了KHTML,作為開發Safari瀏覽器之用,并發布所修改的最新及過去版本源代碼。后來發表了開放源代碼的WebCore及WebKit引擎,它們均是KHTML的派生產品,在開發網站列出引擎改變內容,并會傳回至KDE計劃。由于兩個派生產品各走不同路線,使兩者源代碼偏離,在與KDE交換更新會出現困難[1] 。其中一個原因,是蘋果在對外公開源代碼之前,以一年時間編修他們的KHTML。另外,蘋果發送更新至KDE計劃的方式,多是一口氣把大量改動一起發送,KDE在整理數據也出現一定的困難,及后蘋果表示會以CVS格式來發送[2] 。再者,蘋果所作出的改動包括Mac OS X系統獨有的事物,如Objective-C、KWQ等,在Linux及KHTML是沒有的[3] 。但KDE方面仍通過這些改動,為KHTML加入新功能及加快其排版速度。
簡明扼要的說就是:公司A有一個中央代碼庫,公司A下面的子公司B從中央代碼庫中check out了一份代碼后自己倒騰了一年把代碼全部上傳了,導致公司A要花費大量的時間進行代碼審核和合并,你要是公司A的程序員,你受得了么?當然受不了!于是公司A的程序員開始罵公司B的程序員,最后公司A與公司B就決裂了,公司B的代碼不再提交給公司A,而是自己建立了中央代碼庫把代碼上傳這個庫中。
Blink
上面說了公司B自己建立一個代碼庫,另外一家公司C覺得代碼不錯,于是也check out了公司B的代碼進行修改,公司C并沒有像公司B一樣過了一年才上傳自己的代碼,他經常上傳,上傳率甚至達到50%,可比較鬼祟的是,公司C寫了一套牛逼的多進程架構就是不上傳,搞得公司B很無奈,結果雙方開始掐架,結果是雙方都不愿意為了競爭對手寫代碼,于是公司B新創建代碼庫webkit2,而公司C呢也另起爐灶創建了代碼庫Blink。
這幾家公司雖然對開源KHTML起到很大的推動作用,但又考慮到自己家產品的保密和競爭力而對開源忽遠忽近,最終都無疾而終,不禁再次感嘆。
雙核
現在國內出個瀏覽器都要標榜自己簡潔、快速、安全,其實完全人家chromium的特性,你check out了人家的代碼換了套皮膚而已,國產瀏覽器該說了,我們還有個特性呢,對了在三大特性的基礎上還有一個標配,那就是“雙核”。
為什么會有雙核?
鑒于國內的環境,網銀和IE內核的關系將長期存在,但是又忍不住webkit的誘惑,所以,才有了雙核,其中一個內核是Trident,然后再增加一個其他內核。國內的廠商一般把其他內核叫做“高速瀏覽模式”,而Trident則是“兼容瀏覽模式”,用戶可以來回切換。
為什么幾乎全都基于chromium?
內核不好開發,Apple都不敢自己弄,拿了KHTML回來改。Google也不敢自己弄,拿了WebKit回來改。Opera自己弄了,然后扔了。IE修修補補,終于決定扔了再寫一個。
以 Google 員工為主的 Chromium 團隊在該項目上做了大量的技術創新。像 DNS Prefetch、SPDY、QUIC、預渲染、多進程架構、PPAPI、v8 JavaScript 引擎等都是很好的技術創新例子。
移動瀏覽器內核
- webkit
- Chromium
- U3內核
- x5內核
故事
智能移動端發展歷史相對于PC很短,所以沒有IE,opera這些元老級瀏覽器內核,移動端瀏覽器是從webkit開始的,2005年,諾基亞公司的S60團隊成為手機端WebKit的先驅,他們將WebKit框架移植到了Symbian S60平臺,作為S60第三版的瀏覽器內核。2007年6月29日,iPhone上市,WebKit通過Safari瀏覽器進入iOS平臺,而且立即成為當時iOS平臺唯一的排版引擎。 2008年10月22日Chrome Lite瀏覽器內置在android中。所有的智能手機清一色的選擇了webkit,也證明了KDE和蘋果公司對webkit的貢獻很大。有趣的事情在android操作系統中發生了,android原生網頁視圖WebView也是基于Webkit,chrome瀏覽器開發團隊當初聽取android開發團隊的意見也選擇了webkit,個人覺得當時他們就商量好了,那就是chrome后續開發的成果會用在android上
。所以直到android 4.4為止,android上的webview組件都被人吐槽,速度慢、排版差,不得已第三方手機瀏覽器紛紛研發內核騰訊的x5,UC的U3都是當時的迭代品。而同時chrome則一路高歌不斷占領瀏覽器市場,期間chrome Lite只是作為android的內置瀏覽器,2013年9月android發布的android4.4終于把原本基于Android WebKit的WebView實現換成基于Chromium的WebView實現,從此基于Chromium的WebView實現成為了Android系統上的缺省實現方式。伺候如果chromium用新的內核blink,android自然也會跟進,而最終chrome os和android會走在一起,不分你我。
瀏覽器的未來
瀏覽器內核是否會統一?
別想了,洗洗睡吧。
瀏覽器內核是否會跟進web技術?
盡管不會統一,但他們都會支持web新技術、也會隨著硬件發展而不斷優化,不會再出現IE時代的悲劇了。
主要會有哪幾個瀏覽器內核?
- google,opera擁抱的blink
- 蘋果公司擁抱的webkit
- 微軟的edgeHtml
- 火狐的servo
資料