前幾天的消息,現在的谷歌瀏覽器版本已經到了98,測試版本已經到99,馬上就要推出三位數的版本號了,即使是谷歌早已經開始預警,也不免會有很多網站因此導致顯示異常或癱瘓。

chrome瀏覽器logo

谷歌瀏覽器當前的版本號
谷歌瀏覽器也叫Google Chrome瀏覽器,是谷歌在2008年9月發布的一款免費頁面瀏覽器,據StatCounter統計,截至2020年1月,Google Chrome在全球桌面瀏覽器中有69.89%的佔有率,基本上可以說是當前瀏覽器的一哥了。
你可能沒見過這個名號,但其實你一直在用的很可能也是它,目前咱們經常用到的比如360極速瀏覽器,QQ瀏覽器,獵豹安全瀏覽器,搜狗高速瀏覽器等等,裡面通常都會有所謂的“極速內核”或者“極速模式”這樣的功能,其實就是啟用了Chromium內核(谷歌瀏覽器對應的開源項目的名字,Chrome瀏覽器是非開源的)。
內核這個概念其實是我們常用的俗名,他的正式名字應該叫“瀏覽器引擎”或者“排版引擎”,其實全世界應用比較有名的瀏覽器引擎一共也沒幾個:
Mozilla開源項目的Gecko,現在主要是Firefox火狐瀏覽器在用;
KDE開源KHTML引擎後來發展成了webkit引擎,目前主要是蘋果Safari瀏覽器和谷歌Chrome瀏覽器的iOS版本在用;
谷歌早期瀏覽器曾用Webkit引擎,後來自己建構了分支Blink,由於市佔率比較大,所以影響力逐年擴大;
微軟IE瀏覽器引擎名為Trident,俗稱IE內核,很多老的政務網站有的還在用這個內核,就必須用IE內核的瀏覽器才能正常打開,後來被EdgeHTML取代,但顯然效果不是很好,2019年微軟放棄了自研內核,新的Edge瀏覽器也開始啟用了Blink內核(也可以叫Chromium,二者有些相近,準確一點說應該是Chromium開源項目當中包含Blink內核以及其他東西);
Opera軟件公司自研的Presto引擎,主要用在Opera歐朋瀏覽器之中,在2013年被Blink取代。

常見的瀏覽器
了解了這些之後,是不是感覺好像這玩意也不是很難?之前有人曾經說過,重新開發一款瀏覽器,甚至要比重新開發操作系統更加困難,這個觀點其實不無道理,不過所謂的困難其實都源於整個生態。
我們可以看到,目前這些世界通用的瀏覽器引擎幾乎都是開源項目,其中很多的代碼都來自於不同的人、組織貢獻,正是因為這些人的共同努力,才讓整個網頁的生態建立起來,因為每個人網站網頁的內容都是不一樣的,複雜程度很高,雖然可能編程語言不是那麼多,但為了達到更好的兼容性,只靠某一個人某一個組織顯然是不夠的,這也是源於當初的發展路線不同。
瀏覽器和操作系統一樣,都需要跟整個地球上所有人互動,整個生態當中每個人的都會根據自己的習慣來做內容,想要讓信息流動起來,那就要有統一的標準,本來微軟是想靠着IE瀏覽器統一瀏覽器市場的,就像Windows操作系統做的那樣,不過webkit等開源項目趁着微軟偷懶的時候崛起,直接佔據了絕大多數的市場,連微軟都不得不放棄了自家的內核。
簡單一點理解重新開發操作系統和瀏覽器的困難都來自於生態,一般的軟件只需要面對同樣使用我這個軟件的用戶之間不要出現信息傳遞的問題就行,比如微信、淘寶等等這些,他們只需要保證每個人發出的消息對方能準確收到,商家發布的產品信息能被大家準確看到就可以,大家都在特定的軟件環境中運作,整個生態就這麼小,所以相對沒有太大的難度。
而重新開發新瀏覽器,就意味着你首先要對目前世界上所有的頁面(至少是大多數主流的)做兼容支持,畢竟你不可能指望大家都針對你重新開發自己的頁面,只有當你做到絕大多數都兼容之後,再加上你獨有的優勢功能,才會有人用你的瀏覽器。
而操作系統稍微有點區別,開發操作系統一般不需要先考慮對現有整個軟件生態做兼容,而是要依靠操作系統建立起來之後再依靠整個業界幫你開發軟件,也正是因為Windows操作系統的絕對市佔率,才會導致絕大多數的軟件生態都是針對Windows開發的軟件生態,用戶需要用的是軟件,沒有軟件,何談操作系統。
同理,沒有對所有網頁的兼容性,何談瀏覽器。有人做了個比喻,開發自己的軟件只需要保證自己沒有BUG就行,而開發瀏覽器,你首先面對的是前人幾十年留下來的各種BUG,你不能修改它,只能想辦法兼容。
因為這個原因,也就導致了整個行業當中也極少有人從頭開始開發一個全新的瀏覽器引擎。
但谷歌Chrome瀏覽器的升級也是無法阻擋的,據說谷歌其實也已經和個別開發者聯繫,警告了即將到來的這個問題。甚至谷歌還準備了備用計劃,就是將主要版本號強行保持在99,“Chrome / 100.x "將改為"Chrome / 99.100”,但這種方案畢竟也可能導致其他的問題出現。

Firefox瀏覽器的版本
不僅僅是谷歌Chrome瀏覽器,另一個巨頭Firefox瀏覽器也很接近了,目前Firefox正式版本的版號已經來到了95.0.2,谷歌作為Mozilla基金會的贊助商,雙方也已經開始討論如何解決這個問題,想必在100版本正式上線之前肯定會有一個結論吧。
(7840688)