微軟“木馬計”:用你的技術,比你做的還好

最近微軟拋棄Edge瀏覽器,轉投Chromium陣營的消息震動了業界,有人說瀏覽器大戰終於結束、谷歌Chrome獲得了最後的勝利;也有人擔憂Web技術多樣性遭遇打擊,Chrome會成爲新IE。但在這一片嘈雜的討論中,沒有人討論微軟爲什麼會這麼做。這篇文章會分析一下這個問題,以及試圖說服你:瀏覽器大戰還未結束,微軟還有機會!

要討論微軟爲什麼會轉投Chromium,讓我們先從TypeScript談起。

TypeScript:初試開源威力

TypeScript是JavaScript的超集,是爲了解決JavaScript過於靈活、難以在大型項目中使用而創立。自創立至今,TypeScript已經被越來越多的人所接受,成爲企業級JS項目的主流。

TypeScript早在2010年就在微軟內部使用,然後在2012年10月對外公開。到了2014年納德拉上臺,微軟的風氣爲之一變,TypeScript也迎來了另一個階段:發佈了1.0版本,從微軟自己的代碼託管平臺Codeplex遷移到GitHub,從而吸引更多的開發者。同時微軟的計算機大神——Delphi、C#之父Anders Hejlsberg也開始領導TypeScript的研發,他還走到前臺,到各地去爲TypeScript佈道。

我還記得Anders來到中國,在微軟北研做的一場分享,在分享中他手寫代碼演示了TypeScript的種種特性,還說自己現在每天工作有很大一部分時間在GitHub上。他還介紹了微軟新的研發理念,以開源爲先。後來微軟的種種動作都驗證了這個說法。

TypeScript對微軟來說太重要了。在之前開源軟件吞噬世界,而微軟則在社區逐漸邊緣化,人們談論Linux和其它開源軟件,而對微軟的技術視而不見,甚至有的開發者在發佈軟件庫的時候拒絕開發Windows版本。TypeScript幫助微軟重回軟件開發的主流,重新贏得了開發者的認可。


(Source:The State Of JavaScript 2018)

在前不久Stateofjs發佈的調查報告裏,除了JS的官方語言ES6,TypeScript的支持率遠遠超過了其它JS的方言/近親。

TypeScript的成功也鼓舞了微軟更多的擁抱開源,包括後面將.NET core及相關工具開源,甚至將Azure的文檔也開源在Github上。在2018年的GitHub年度報告裏,微軟不僅在參與開源項目人數上名列前茅,還有多個項目進入最受歡迎的項目Top 10.

VS Code:用你的技術還比你受歡迎

2014年微軟還有另一個大動作,就是發佈了Visual Studio Code,這對微軟來說是另一個歷史性的突破。

微軟第一次將開發工具帶到了Linux和macOS上,第一次將開發工具開源,同時也是第一次利用其它公司的核心技術開發自己的產品。這個核心技術就是現在在跨平臺桌面開發中越來越受歡迎的Electron(之前叫Atom-Shell)。

Electron是GitHub在打造自己的桌面端產品的過程中沉澱下來的,GitHub基於它開發了自己的桌面客戶端和代碼編輯器Atom。Atom爲代碼編輯器領域吹進了一股新風,並對傳統的代碼編輯器Sublime Text等形成了強烈的衝擊。

微軟的Visual Studio號稱“宇宙第一IDE”,其強大毋庸置疑。它適合C++、C#等靜態語言的開發,但越來越多的編程語言如JavaScript、Python、PHP等青睞使用輕量級的代碼編輯器來進行開發。爲了應對這股潮流,2015年微軟推出Visual Studio Code,但出人意料的是,微軟在VS Code使用了GitHub的開發框架。

微軟不是沒有能力推出自己的開發框架,並且當時的Atom-Shell也才推出一年多尚顯稚嫩,但這次稍顯冒險的行爲,爲微軟贏得豐厚的回報:發佈僅僅三年之後,VS Code成爲開發者最喜歡的代碼編輯器。


(Source:StackOverflow Developer Survey Results 2018)

VS Code是如此受歡迎,它甚至都不需要微軟的開發者們到處去佈道。這中間有一件趣事:極客 時間曾聯繫VS Code團隊的工程師呂鵬,讓他來開設一個付費的課程,課程本身不貴,作者既佈道了這個編輯器又從勞動中獲得收益,但作者卻擔心被人認爲靠公司項目斂財而將課程下線了。在短短不到一週的上線時間內,課程就有幾千人購買,足以見得VS Code受歡迎的程度。

如果說TypeScript代表着對開源的擁抱,VS Code既開源又使用別家技術所以代表着開放,既然微軟已經在這兩個項目上驗證了開源和開放的威力,那麼爲什麼不在其它的項目上覆用已有的經驗呢?

新Edge:複用已有成功經驗

微軟Edge團隊在GitHub上發佈了一篇文檔,解釋了爲什麼Edge是複用上述經驗的一個良好的目標:

  • 早在一年前移動端的Edge瀏覽器已經使用其它平臺的技術構建。這並不出奇,蘋果規定瀏覽器需基於自家技術開發,連Chrome到了iOS上也得乖乖的用WebKit。
  • Edge本身使用了一些開源技術,如ANGLE、Web Audio、Brotli等。
  • 之前微軟幫助Chromium在適配ARM平臺時已經做了一些工作,微軟發現,第三方瀏覽器在提升Windows用戶體驗、性能、降低功耗等方面並不上心,爲了給終端用戶更好的體驗,微軟有必要去治理它們的源頭,其中最主要的就是Chromium。

當然,還有一條微軟不好意思說但外人看的很明白的點:Edge之前在調研中市場覆蓋率僅佔4%左右,這樣下去什麼也不做才真會默默死掉,還不如掀桌子重來。

當你看明白了微軟正在Edge上覆用它們開源與開放的經驗的時候,也就知道我爲什麼會說瀏覽器大戰還沒有結束了。

大家對於Web技術多樣性的擔憂暫時是沒有必要的,微軟在瀏覽器內核的更上游——Web標準上正在投入更大的力量參與,具體就體現在微軟會更多的參與到W3C和WHATWG的事務中去。

如果谷歌無視Web標準一意孤行,到時候微軟熟悉了Chromium的開發之後,將有能力從Chromium創建分支,這也是開源允許的做法。

Edge更換底層平臺,毫無疑問影響深遠,而這麼做也給微軟帶來新的機會:

  • Edge將迎來Chromium平臺上量多質優的瀏覽器插件,從而大大增強Edge的功能。
  • 我們曾報道過微軟正在研發針對ChromeOS上網本的Windows Lite版本,這個版本將主要支持PWA和UWP應用,通過採用Chromium,微軟可以更好的支持谷歌推出的PWA,甚至參與到PWA的研發設計當中。
  • 通過將微軟賬戶集成進Chromium裏,微軟也可以打造自己圍繞瀏覽器的生態,到時再通過一個遷移工具一鍵將Chrome的各種設置和插件移到Edge上,那還不是美滋滋。

所以Edge轉投Chromium不但不意味着瀏覽器大戰的結束,反正還意味着未來還可能再起波瀾!

谷歌,小心微軟“木馬計”

大公司通常容易患上一種NIHS綜合徵(Not Invent Here Syndrome),具體表現爲如果哪項受歡迎的技術不是自己的,那麼一定要做一個和它類似的。微軟也曾經是這一症狀的患者,在歷史上,它創建了類比於JavaScript的JScript、類比於Flash的Silverlight,毫無疑問,這些全都失敗了。

一旦拋棄了這個症狀,微軟突然發現自己可以發揮真正的實力:在開發Windows、Office、Visual Studio期間積累的豐富的經驗技術和對用戶體驗的理解。

使用別家的技術,然後比別人做的好,這目前是微軟的獨家本領。這種行爲就像特洛伊木馬,進入別人腹地顛覆對方。而且讓對方無奈的是,這種行爲甚至無從防禦,這些都是開源規則允許甚至是鼓勵的,只能眼睜睜的看着對方超過自己。

當然,前兩次成功不一定能證明接下來也一定成功。特別是Edge與對手相差懸殊,想要趕超其難度超乎想象。

總之,未來的瀏覽器領域的競爭仍然充滿變數,谷歌暫時領先了,但也不能躺在功勞簿上打盹,畢竟,IE的前車之鑑就在前面,而微軟還沒有放棄。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章