亦敵亦友微軟Edge瀏覽器為何要採用Chrome引擎?
微軟早在2015年就發布了Edge網絡瀏覽器。但卻在2018年出人意料地轉而採用谷歌的Chromium開源引擎。本文就微軟如何做出這一重大決定以及接下來可能發生什麼的故事進行了描述。微軟首席執行官薩蒂亞·納德拉(Satya Nadella)對此感到很沮喪。微軟副總裁喬北峰(Joe Belfiore)在接受采訪時表示:“薩蒂亞找到我們說,’嘿,我希望看到我們在瀏覽器方面取得更多進展。’”。
當時納德拉這樣說,“谷歌在基於Web協作的用戶體驗方面做得很好,Office團隊正在投入更多的資金來改善我們的,我們希望自己的Web瀏覽器也能變得更好。”喬北峰承認“Edge的聲譽好壞參半” ,但微軟一直在花大量時間試圖提高其瀏覽器的兼容性,同期谷歌一直在推進Chrome瀏覽器的開發,這鞏固了其作為桌面默認Web瀏覽器的地位。
在這種情況下,微軟不得不大幅改變其Edge瀏覽器。喬北峰與納德拉的會面最終導致微軟做出了一個巨大的決定,拋棄自己開發的瀏覽器內核,轉而使用Chromium作為新的瀏覽器引擎。這一決策的風險再高不過了:Windows和Web本身的未來可能都取決於這個項目。
在與納德拉會面後不久,微軟的瀏覽器團隊開始分析Edge的所有問題,並為其缺陷選擇了一個不同的術語,稱其為“逆風”( headwinds)。“這是一個信號,表明Edge在2017年面臨的不僅是技術層面的問題,也不一定是無法克服的。從理論上講,這些缺陷只是減慢了被接納的速度。
最強勁的逆風之一是使用量。儘管Windows 10的安裝基數在不斷增長,但使用Edge瀏覽器的用戶卻不夠多。人們仍然在選擇Chrome和其他瀏覽器。喬北峰也承認:“Edge瀏覽器的使用量很低,部分原因是我們只在Windows 10系統上運行。”“在全球所有設備中,儘管Windows 10操作系統體量龐大,但佔比來看仍然是少數。”
除此之外就是Edge瀏覽器的兼容性。由於Edge使用的渲染引擎與Chrome或Safari有所不同,這意味著其有時會在某些網站上出現問題。測試網站對於多個瀏覽器的兼容性一直都很困難,而且由於Edge瀏覽器的使用率很低,這意味著針對其進行的優化常常不在Web開發人員的優先級列表上。
Edge瀏覽器還建立在微軟的通用Windows平台(Universal Windows Platform,簡稱UWP)基礎之上,這是該公司此前通過Windows 8和Windows 10大力推介的通用應用程序,可以在台式機、平板電腦、手機、Xbox遊戲機和Hololens等設備上運行。“我們的第三個逆風是UWP。這並不是說UWP不好,但UWP並不是一個有著35年曆史的成熟平台,也不是一個已經編寫大量應用程序的平台,”喬北峰解釋道。這意味著UWP中像支持多顯示器等功能並不可靠,而Edge團隊將不得不等待UWP的更新。微軟需要讓Edge瀏覽器重新成為一款真正的桌面應用程序,能夠適用於Windows 7、Mac和Windows 10多個平台。
微軟考慮過許多不同方法來應對所有這些不利因素。它考慮過看似簡單的解決方案,比如讓Edge瀏覽器進入Windows商店,因此能夠比核心操作系統更新得更頻繁。它還考慮在Windows 7操作系統上啟用Edge瀏覽器。而遷移到Chromium引擎也是解決這些問題的方法之一。
“我們說,’不,我們認為可以通過兼容性達到目的。’”喬北峰說。
因此,微軟投入了更多工程師試圖解決Edge瀏覽器的兼容性問題,但這是一種打地鼠式的愚蠢方法:每當解決了Edge瀏覽器中的一個問題後,就會彈出另外10個問題。隨著谷歌通過Chrome推出了許多新標準和速度,Web網絡的發展速度大大加快,而微軟卻沒有跟上腳步。
微軟實現其關於Web網絡野心的另一個大問題是公司的組織方式。當微軟開始Edge項目時,Windows的Web平台工作EdgeHTML是由一個獨立的團隊來進行的,而構建和維護Edge瀏覽器本身的團隊沒有參與其中。微軟去年對Windows業務進行了大規模重組,前Windows負責人特里·邁爾森(Terry Myerson)離開了微軟,微軟Web平台和Edge團隊在喬北峰的領導下進行了整合,以增強最終打造出更好Windows瀏覽器的責任機制。
這次重組更加凸顯出Edge的問題,現有的Web團隊已經聯合起來改進公司的瀏覽器工作。微軟開始在不同的開源技術實現上構建新的瀏覽器原型,看看什麼是可行的。其中一個原型代號為“Septagon”,完全實現了Chromium引擎。Septagon瀏覽器原型是顯而易見的選擇。但這一轉變事關重大,必須由最高層做出最終決策。
微軟花了幾個月時間對Edge瀏覽器遷移到Chromium引擎進行了認真評估,因為這是該公司通常做法的一個重大轉變。“我們做了路演,”喬北峰解釋說。“我們去見了比爾·蓋茨(Bill Gates),我們去見了來自LinkedIn的首席技術官凱文·斯科特(Kevin Scott),他是我們的,,還有我們的董事會成員里德·霍夫曼(Reid Hoffman)。”該團隊還會見了現任GitHub負責人奈特·弗里德曼(Nat Friedman)。
所有這些會面的目的都是為了獲得一些關於Edge瀏覽器切換到Chromium引擎的外部建議,所涉及的挑戰,以及該公司到底期望與穀歌建立什麼樣的關係。畢竟對微軟來說,轉向Chromium引擎是一個巨大的賭注,也是更多接納開源代碼。
其中一些挑戰涉及如何與開源社區建立良好的關係,但另一些挑戰則是微軟Windows工程團隊運作方式的根本性改變。Edge瀏覽器每六個月向公眾發布一次更新,但是Chromium Canary的開發人員每天都要重構一次代碼。Chromium也是一個不同的代碼庫,微軟的工程師必須對其進行深入理解並為之做出貢獻。
在2018年9月決定採用Chromium引擎之前,微軟花了大量時間對其進行分析。納德拉和他的領導團隊批准了這一變更,然後微軟準備在12月公開宣布。這是一個重要的時刻。
“我們有點緊張,”微軟Edge項目經理傑特·曼恩(Jatinder Mann)承認。“幸運的是,當我們宣布這一消息時,我們得到了Chromium工程師和其他Chromium瀏覽器廠商的積極響應,他們非常高興看到我們能夠加入這個社區。”人們的反應大多是積極的,其他瀏覽器工程師認為這是為改進Web網絡而獲得更多幫助的一種方式。
然而,火狐瀏覽器開發商Mozilla並不歡迎微軟的舉動。這可能意味著Web開發人員不太可能使用任意瀏覽器編寫符合Web標準的代碼,而更可能只為Chromium和Safari編寫代碼。所以Mozilla說它將繼續“為一個真正開放的Web網絡而戰”。
一旦做出決定並公之於眾後,Edge瀏覽器轉向Chromium引擎的真正工作就開始了。雖然谷歌和微軟的工程師以前常常一起合作來幫助設計Web標準,但是這次將是非常不同。微軟採用Chromium引擎意味著這種關係將變得更加緊密。
有時雙方需要決定到底採用Google Hangouts還是Microsoft Teams進行協作通信,或者到底是使用Word還是Google Docs。而微軟的工程師們往往願意遷就谷歌。
谷歌工程師與微軟討論了Chromium開源社區通常是如何工作的,微軟的工程師也採納了這些流程。曼恩表示:“我們的許多原則與這些最佳實踐非常一致。”這些實踐包括長期參與Chromium項目,維護微軟所做的任何貢獻,尊重架構設計以及跨平台和跨設備的需求。
微軟和Chromium工程師現在正在合作解決一些問題,比如瀏覽器的易訪問性、滾動和触摸控件等問題。觸摸控件一直是Edge瀏覽器的重要組成部分,微軟現在正在對Chromium引擎進行改進,使在Web表單中選擇日期或時間時更易於觸摸操控。微軟還在開發支持Chromium引擎的Windows觸摸鍵盤,包括加入在鍵盤上滑動書寫等功能。
很明顯,現在還處於微軟開發Chromium的早期階段,來自微軟和谷歌的工程師似乎在為類似的目標進行良好合作。但微軟和谷歌仍然是激烈的競爭對手。以前,谷歌的Chrome瀏覽器專用網站在Edge上運行得併不好,Mozilla的一位前高管最近指責谷歌多年來一直在破壞火狐瀏覽器,儘管谷歌與火狐瀏覽器有著密切的合作關係,曾經達成過一項將谷歌搜索作為默認設置的協議。
谷歌和微軟多年來也有過公開的鬥爭,這導致生態系統戰爭的發生,並影響了兩家公司的客戶。Windows Phone用戶暫時無法使用谷歌地圖,Windows Phone的YouTube應用程序也引發了一場激烈戰鬥,而谷歌還切斷了Gmail對Windows Phone中Exchange ActiveSync支持,這讓微軟感到意外。加之谷歌拒絕開發Windows應用程序,所有這些事件都削弱了微軟在移動領域與Android操作系統競爭的努力。
YouTube工程師甚至在近10年前策劃了一個秘密計劃,要消滅Internet Explorer 6。最近,YouTube在Edge、火狐或Safari等非Chrome瀏覽器上運行得併不好。考慮到這段黑歷史,一些人擔心谷歌可能會利用它的許多Web優勢和服務來破壞微軟向Chromium引擎的遷移。這並非毫無根據的恐懼,但卻是一種諷刺:如果這種情況繼續下去,微軟可能最終成為“擁抱、延伸、消滅”戰略的受害者。
最近,當Google Meet突然不在支持新版Edge瀏覽器時,這些擔憂變得更加強烈。谷歌最近還在Edge Chromium用戶使用Google Docs時添加了一個“不支持瀏覽器”的警告。埃里克·勞倫斯(Eric Lawrence)在加入谷歌開發Chrome之前曾為IE瀏覽器工作,現在又回到了微軟。他在Twitter上透露,谷歌最近的改動可能不是惡意的。谷歌並不是故意要屏蔽微軟的新版Edge瀏覽器。
“我認為我們的期望是谷歌瀏覽器將與我們公平競爭,”喬北峰說。“我們希望我們能成為Web標準和Web實現方面的工程合作夥伴,在Windows設備上運行良好。這似乎是可能的,而且符合所有人的最大利益。而且在差異化方面還有很大的競爭空間。”
毫無疑問,谷歌歡迎微軟對Chromium引擎的貢獻。谷歌工程師們在最近的一次BlinkOn Chromium活動上邀請微軟登台,到目前為止,微軟已經為Chromium貢獻了400多種融合。谷歌一位發言人表示:“Chrome從一開始就是開放網絡的擁護者,我們歡迎微軟加入Chromium開發者的社區。”“我們感謝微軟和Web標準社區在推進開放Web網絡、支持用戶選擇和提供良好瀏覽體驗方面所做的工作。”
新舊Edge瀏覽器的轉換不會一蹴而就,微軟仍在研究如何實現這一目標。
微軟正在展示為Edge Chromium瀏覽器規劃的一些新功能,而Mac版瀏覽器也應該很快就會推出。Edge瀏覽器也將推出一種新的“IE模式”,這可能會幫助一些仍然依賴於面向IE設計的古老內部網站企業用戶轉向更現代的網站。Edge瀏覽器還設計了一個新的“收藏”功能,以改善從Web上收集信息和筆記的不良體驗。微軟甚至添加了精細的跟踪控件,以阻止廣告通過Web網路跟踪用戶。
除了這些特性,Edge Chromium還在不斷改進,而微軟與穀歌的關係也在不斷變化。但最終的結果意味著,如果你使用Windows,那麼Chrome和Edge瀏覽器在未來幾個月都將變得更好。Edge已經感覺和Chrome一樣好了,它很容易就會成為有史以來最好的默認瀏覽器窗口。不過Chrome可能還不夠好。現在輪到微軟來說服所有人,為什麼放棄Chrome是值得的。