1. 程式人生 > >微軟/谷歌瀏覽器之爭落幕:Edge向Chrome認輸了?

微軟/谷歌瀏覽器之爭落幕:Edge向Chrome認輸了?

本文於2018年12月17日首發於IT之家。

地址:點選這裡

當地時間本月6日上午九點,據IT之家報道,微軟在其官方部落格宣佈將採用開源專案Chromium的技術來開發Microsoft Edge瀏覽器。微軟表示,此舉旨在為使用者提供更好的Web相容性,並減輕Web碎片化。

在接下來的一年裡,微軟將把Microsoft Edge技術變革的重點聚焦於以下三個方面。

一、微軟將在桌面上遷移到適用於Microsoft Edge的相容Chromium的Web平臺,微軟的目標是將Microsoft Edge平臺與Web標準同其他基於Chromium的瀏覽器保持一致。

二、Microsoft Edge將面向所有受支援的Windows版本推出,同時,Microsoft Edge將脫離與系統更新同步的繫結而單獨更新,以實現更敏捷的交付。此外,微軟還希望這項工作能夠使他們將Microsoft Edge瀏覽器帶到其他平臺,例如蘋果的macOS上。

三、微軟將在採用Chromium的技術開發的Microsoft Edge瀏覽器上提供增強功能,以加強使用者體驗。

雖然在這幾天之前,曾有訊息表明微軟正在開發另外一款基於Chromium核心的瀏覽器,不過沒想到微軟官方竟然這麼快就坐實了“微軟的瀏覽器將採用Chromium的技術開發”這個訊息,還是比較令人震驚的。而且,還有一點出人意料的是,採用Chromium的技術開發的瀏覽器直接就是Microsoft Edge,而根本不像此前所傳的“另一款瀏覽器”。

從Windows 10的早期版本一路用到現在的讀者可能知道,從google.com在其首頁推薦使用者使用Chrome瀏覽器,到Windows 10在通知中心提醒使用者使用更省電的Edge瀏覽器,這些年,Microsoft Edge瀏覽器和Chrome瀏覽器之間的較量從未停止過。這次Microsoft Edge瀏覽器宣佈採用Chromium技術,就像微軟和谷歌兩個人在掐架,正當兩個人勢均力敵,僵持不下的時候,微軟突然親了谷歌一口,這兩家之間多年的瀏覽器之爭也因此次微軟和谷歌的握手言和而落幕。

所以,這次,Edge是在與Chrome之間的較量當中認輸了嗎?

Internet Explorer 6,前端工程師的噩夢

如果正在看文章的各位當中有做過前端工程師的,那提到Internet Explorer 6,應該是相當的咬牙切齒,有些讀者可能很難理解這件事情,為什麼Internet Explorer 6讓前端工程師如此痛恨?

簡而言之,導致Internet Explorer 6讓前端痛恨的原因有二:

一、Internet Explorer 6是和Windows XP同時誕生的瀏覽器,也是Windows XP這款經典系統的預設瀏覽器。儘管這款瀏覽器在誕生之初還算先進,可是隨著時間的推移,它已經輝煌不再,微軟也早已停止對它的支援。

中國市場是個非常神奇的市場,就算微軟後續的Internet Explorer 7、8、9等新版瀏覽器陸續推出,Internet Explorer 6的份額還是不可忽視,有段時間其在中國市場的份額甚至達到20%。考慮到如此大的市場份額,開發者不得不在設計網站前端的時候“單獨照顧”已經被時代淘汰了的Internet Explorer 6,非常麻煩。

二、Internet Explorer 6所採用的網頁標準非常奇葩,完全不按W3C(W3C,即全球資訊網聯盟,是Web技術領域最具權威和影響力的國際中立性技術標準機構,廣為業界採用的超文字標記語言的標準制定即是由該組織主導的)的套路出牌,也就是說,如果你是個前端工程師,你遵照W3C的標準寫了一個在市面上絕大部分的瀏覽器上都能完美排版的網頁,可是當你用Internet Explorer 6開啟它時,你很可能會發現,這個網頁的頁面排版已經亂成一鍋粥,有些脾氣好的開發者考慮到Internet Explorer 6的市場份額可能還會適配一下,若遇到暴脾氣的,直接給你寫個條件語句,判斷到使用者使用的瀏覽器是Internet Explorer 6,直接就拒絕顯示網頁,然後提示你用其他的正常一點的瀏覽器了。

通過舉Internet Explorer 6的這個例子,是希望大家理解這個道理,瀏覽器間所採用的標準的統一,無論是對網站的前端設計師來說,還是對我們這樣的普通使用者來說,都是一件相當重要的事情。

Microsoft Edge的優與劣

其實Internet Explorer瀏覽器發展到10或者11的時候,其對網頁標準的支援,尤其是對HTML5的支援已經相當不錯了,隨Windows 8以及後來的Windows 8.1同時推出的Internet Explorer 10觸屏版和Internet Explorer 11觸屏版則讓這款瀏覽器無論是看起來還是用起來都顯得更加現代。就筆者的經歷來說,當年在Windows 8.1當中使用其內建的Internet Explorer 11的時候已經基本上感受不到任何不適或者不便了。

儘管當時Internet Explorer的發展態勢已經一片向好,可是Internet Explorer依然面臨問題,就是它的體量過於臃腫,它的身上背了太多的歷史的包袱,Internet Explorer每釋出一個版本,就總是要考慮向後的相容,但是與此同時,其他公司所釋出的瀏覽器,無論是谷歌的Chrome還是Mozilla的Firefox,他們就從來也不用考慮、也不用擔心他們的瀏覽器是否需要支援過時的技術。因此,對微軟來說,瀏覽器這個遊戲本身就不是一個公平的遊戲。

考慮到Internet Explorer的包袱過於沉重,改造這款瀏覽器對微軟來講已經不是一個好主意了,要擁抱現代瀏覽器,微軟只能下個破釜沉舟的決心,輕裝上陣,重新開始,於是,一個代號為“斯巴達”的現代瀏覽器專案誕生了,這個專案所衍生的產品,就是後來我們在Windows 10上所用到的預設瀏覽器Microsoft Edge。

和歷史包袱沉重的Internet Explorer相比,全新的Microsoft Edge有著諸多的優勢。

第一、它可以提供相對於Internet Explorer來說更加精簡、更加快速,也更加讓人耳目一新的瀏覽體驗。

由於Edge這款全新的現代瀏覽器不需要考慮向後的相容性,因此它的程式碼量大大減少,據筆者瞭解,在Edge瀏覽器上,微軟砍掉了22萬行MSHTML程式碼、300多個API以及6種檔案模式。

輕裝上陣的結果,自然就是一個字,快。在JetStream的基準測試中,Edge取得了比Internet Explorer 11快1.6倍的成績,在Octane 2.0的基準測試中,Edge取得了比Internet Explorer 11快2.25倍的成績,在64位瀏覽器中,Edge瀏覽器的JavaScript引擎載入速度更是超越了它的兩大競爭對手Chrome和Firefox。

為了改善Edge瀏覽器對新的Web標準的優化,微軟為此新增了30萬行程式程式碼、49項主要的新功能以及4200多個相容的修補程式。

第二、它支援基於HTML和JavaScript的擴充套件,使用者只需通過Windows應用商店(後更名為“微軟商店”)即可一站式安裝與Edge瀏覽器相相容的擴充套件應用。對於開發者來講,Edge擴充套件外掛的開發十分簡單,他們僅需將他們為Chrome或者Firefox等瀏覽器所寫的擴充套件程式的程式碼稍加改動,即可將其移植到微軟的Edge瀏覽器上來。

第三、Edge瀏覽器擁有更貼心、更實用的功能。微軟搜尋服務必應以及Windows 10上的虛擬個人助理Cortana已與Edge瀏覽器深度整合,Cortana在Edge當中能夠判斷你的需求併為你提供它能給到的一切。全新的閱讀模式能夠去掉網頁左右兩邊的文字選單、廣告等分散閱讀注意力的元素,從而提供更沉浸純粹的閱讀體驗。閱讀列表功能則可將當前網頁新增到列表中以供後續閱讀,與此同時,該功能還支援將閱讀列表在使用者的各裝置間同步。

儘管微軟傾力打造的Edge瀏覽器正如上述這樣,擁有種種能夠使其成功的特質,可是截至目前,它的市場表現還是沒有太大的起色,很多使用者在安裝還Windows 10之後,也只是把Edge瀏覽器當成新時代的Internet Explorer 11來用而已——即用它來下載Chrome。

Edge瀏覽器到底有何劣勢,以至於儘管它已經問世三年多,還是難以成功呢?

對於一款輕裝上陣的全新瀏覽器來說,功能簡陋似乎並不是什麼問題,Microsoft Edge所面臨的最致命的問題,是它與Windows 10的繫結極大限制了它的交付頻率。

功能簡陋?沒有問題,把功能加進來就好了。用Edge瀏覽器開啟網頁時白屏或者假死?沒有關係,推出後續版本修復問題就好了。不過現在Microsoft Edge所面臨的尷尬境地是什麼,微軟已經把全新的功能準備好了,微軟已經把白屏和假死的問題解決了,可是使用者接收不到更新,為什麼呢?因為Edge要等Windows 10一起更新,而Windows 10的更新通常是半年一次。

也就是說,和Chrome、Firefox這樣更新靈活、迭代迅速的瀏覽器相比,Microsoft Edge就像是一個行動遲緩的傢伙,它之所以行動遲緩,並不是因為它自己體型笨拙,而是因為微軟將它和另一個胖子綁在了一起,而這個胖子叫“Windows 10”。

歸根結底,Microsoft Edge所有劣勢的根源,並非其基於的UWP架構,並非其簡陋的功能,也並非是它的種種bug,而是它的更新模式。微軟當年決定把Edge瀏覽器與Windows 10繫結更新的時候,Edge瀏覽器就已經處於不利地位了。

Microsoft Edge認輸了?不,它贏了

前段時間,微軟宣佈Edge將採用Chromium的技術來進行開發的時候,筆者身邊的很多朋友都對微軟表達出一種失望的態度,因為在過去一段時間,Edge瀏覽器一直是以一個與谷歌的Chrome相競爭的形象示人的,這次微軟決定投入Chromium的懷抱,莫不是在這次競爭當中認輸了?

非也。如果考慮到Edge瀏覽器接下來一系列舉措的所能帶來的結果,你可能不會覺得Edge輸了。這個我們來結合三個提問分析:

提問一:採用Chromium的技術開發Edge,對使用者以及網站開發工程師來說意味著什麼?

與市面上絕大部分的瀏覽器採用相同的核心,即意味著Edge瀏覽器所相容的網頁標準是被廣泛支援的和採用的。對於普通使用者來講,在使用Edge瀏覽器的過程中,我們基本不可能會遇到網頁排版錯亂、元素丟失或者功能不可用的情況。而對於網站開發工程師,尤其是前端工程師來講,他們將不再需要針對Edge瀏覽器的EdgeHTML排版引擎進行另外的適配和測試,這將極大地減輕他們進行開發工作時的工作量,其測試矩陣也將大大簡化。

有些讀者可能會擔心,如果微軟採用別人家的核心來開發自己家的瀏覽器,那他的EdgeHTML怎麼辦?這樣的話,微軟在網頁標準方面的話語權不就減弱了嗎?

雖然對於EdgeHTML的未來,微軟還沒有給外界一個明確的答覆,不過關於微軟在網頁標準制定方面的話語權是否會減弱這點,大家根本無需擔心。畢竟微軟是W3C中的一員,在話語權上,微軟與谷歌平起平坐還是沒什麼問題的。

提問二,脫離與Windows 10的更新繫結,對Microsoft Edge有什麼好處?

脫離與Windows 10的更新繫結,即意味著Microsoft Edge可以實現更敏捷的交付,因此,Microsoft Edge的功能增強或者Bug修復可以更及時地推送給使用者,過去Microsoft Edge的市場份額不高,相信是由很多使用者用它的時候發現一些問題,而這些問題又遲遲得不到解決,從而轉投其他瀏覽器所導致的。在更敏捷的交付下,考慮到使用者流失的原因,上面我們提到的這個問題顯然是可以迎刃而解的。

提問三,我可以在更多的平臺使用Microsoft Edge嗎?

從微軟的部落格來看,這個問題的答案是肯定的。微軟的那篇部落格所傳達出的關於Edge瀏覽器目標平臺的資訊有兩點。

1、Edge瀏覽器將適用於所有受支援的Windows版本。既然微軟沒限定範圍是“所有受支援的Windows 10版本”,那我們有理由相信微軟口中的“所有受支援的Windows版本”是包含Windows 7和Windows 8.1在內的。考慮到這兩個版本的Windows不支援UWP應用,因此,從中我們可以解讀出的資訊是,Edge瀏覽器或許會去UWP化,從而成為一款Win32桌面應用。

2、微軟有意願將Edge瀏覽器帶到macOS平臺。考慮到macOS在桌面電腦和膝上型電腦中有限的市場份額,Edge瀏覽器藉助登陸macOS所能實現的份額增長應該是相當有限的,不過即便如此,這依然傳達出一個資訊,即微軟將以越來越開放的姿態來擁抱“競爭對手”的平臺。

從Microsoft Edge的種種變化以及這些變化所意味著的結果來看,微軟此次的動作並不是一次“認輸”的動作,相反,Edge是個贏家。

是的,在剛剛過去的瀏覽器大戰中,Edge並沒有打敗谷歌的Chrome,但有些時候,一方的勝利並不一定要以另一方的失敗為標誌。這次瀏覽器大戰沒有輸家,微軟與谷歌所共同迎來的是個皆大歡喜的圓滿結局。

雖然與谷歌的瀏覽器大戰的結局是美好的,可是微軟需要知道,Microsoft Edge依然面臨挑戰。

首先,在過去的三年,這款瀏覽器給部分使用者留下了“功能缺失”、“白屏”、“假死”等諸多不良印象,要重新收穫這些使用者的心,微軟可得好好動動腦筋了。

第二,截至目前,在微軟商店裡上架的Edge瀏覽器擴充套件大概有220多款,這個數量雖然不少,可是和競品Chrome或者Firefox的平臺暫時還無法相比,要重建Edge瀏覽器的生態,讓這款瀏覽器真正好用,筆者認為,微軟任重而道遠。