WinJS開源和TypeScript?微軟不是第一次這么做
Build 2014 前后,最不被消費(fèi)者關(guān)注但又最重要的兩件事,就是 WinJS 開源和 TypeScript 1.0 發(fā)布了。面對被網(wǎng)絡(luò)世界主導(dǎo)之一谷歌極力推動(dòng)的 JavaScript 語言,開源和免費(fèi)被一些人解讀為微軟***的讓步和嘗試。但事實(shí)上,這樣的明守暗攻有一個(gè)存在于微軟歷史上的案例可以參考,而無論微軟還是用戶都已從這個(gè)先例的結(jié)果中獲益良久。
這是一個(gè)應(yīng)該追溯到上世紀(jì)九十年代初的故事。
彼 時(shí),同樣作為世界上名列前茅的軟件公司——SUN,在初步呈現(xiàn)萬夫莫開之勢的微軟面前還保留著做操作系統(tǒng)的愿望。而 Java,正是他們的攻城兵。出乎 SUN 的意料,在 C/C++開發(fā)工具市場早已無力對抗微軟的幾家知名公司都自愿加入這個(gè)討伐微軟的聯(lián)盟中。其中不乏 Borland、Symantec,甚至 IBM 這些在當(dāng)時(shí)開發(fā)者看來仍然保留一些市場導(dǎo)向力的公司。
此時(shí)的微軟倚著剛到手的 C/C++ 開發(fā)工具市場,也深知自己在這方面已經(jīng)沒有對手,從而放棄了對新興事物的警覺,甚至只是以敵對的態(tài)度排斥接觸 Java。
回 到戰(zhàn)場上,雖然 SUN 自己的 Java 編譯器質(zhì)量很難讓人滿意,但 Symantec 和 Borland 相繼推出優(yōu)秀的作品拿下了大塊市場,雙方你來我往的技術(shù)升級斗爭也大有回復(fù)往日元?dú)獾膭蓊^。Java 是如此地被非微軟系開發(fā)者和微軟競爭對手當(dāng)作一舒怨氣的突破口,以至于時(shí)值壯年的瀏覽器絕對霸權(quán) Netscape 也決定在產(chǎn)品里支持 Java,從而與微軟搶占下一個(gè)時(shí)代的軟件市場話語權(quán)。
到這里,微軟才意識(shí)到 Java 的地位。無論在開發(fā)者眼中是多么的“慢”,它離自己理想中 "Write Once, Run Everywhere" 的距離還有多遠(yuǎn),Java 在這么多勢力的推動(dòng)下都以自己易理解、高度可移植的特性不斷被更多人接受。微軟決定以自己的方式做出回應(yīng),反擊的***正是因 Borland 內(nèi)部管理混亂而由蓋茨游說加入微軟的,Turbo Pascal(Borland 白手起家的基石)發(fā)明人 Anders Hejlsberg。
Anders Hejlsberg 作為前 Borland 技術(shù)奠定人,其實(shí)力自然不在話下。他對編譯器技術(shù)理解之深讓微軟推出的 VJ++(Java 編譯器產(chǎn)品及 Java 語言特殊實(shí)現(xiàn))在***時(shí)間就成為市場中編譯速度最快,編譯所得程序運(yùn)行效果***的產(chǎn)品。同時(shí)微軟讓自己的 IE 瀏覽器通過 VJ++支持 Java Applet 執(zhí)行,一舉減掉了 Borland,Symantec,以及 Netscape 的三分銳氣。
前面 提到,Java 是 SUN 試圖用來建立操作系統(tǒng)的核心,微軟當(dāng)然不會(huì)用如此優(yōu)秀的工具為它作嫁衣。很快,SUN 和同盟們發(fā)現(xiàn) VJ++帶有太多非標(biāo)準(zhǔn)的 Java 用法用以將開發(fā)者留在 Windows 平臺(tái)上。這些開發(fā)者包括希望嘗試 Java 的原 Windows 軟件開發(fā)者,也包含原 Java 開發(fā),但覬覦微軟優(yōu)秀工具的新生力量。微軟和 Symantec 兩大主力分別在自己的編譯器中夾帶私貨,SUN 意識(shí)到自己對于 Java 的主導(dǎo)權(quán),以及 Java "Write Once, Run Everywhere" 的初衷岌岌可危,隨即呼吁使用 Java 的開發(fā)人員和企業(yè)抵制 VJ++。微軟也在 Windows 系統(tǒng)中撤下對 Java 的自帶支持予以還擊。
故事到這里進(jìn)入尾聲,Anders Hejlsberg 將運(yùn)用在 VJ++的技術(shù)融入到新產(chǎn)品中并進(jìn)一步優(yōu)化,分化為.Net 和 C# 成為 Windows 系統(tǒng)上最為重要的技術(shù)平臺(tái)和開發(fā)語言,與 Windows 相互鞏固,相互助力。而 Java OS,如你我所見,再無音訊。
在 VJ++的身上,我們不難看到 WinJS 的企圖和命運(yùn),而同樣由 Anders Heijlsberg 創(chuàng)造的 JavaScript 超集 TypeScript 是不是又像極了如今的 C# 呢。在 JavaScript 和 HTML 幫助下,Chrome、Mozilla Firefox 這樣往日的瀏覽器都在試圖成就自己操作系統(tǒng)的夢。流行瀏覽器內(nèi)核和通用網(wǎng)頁標(biāo)準(zhǔn)正在云服務(wù)流行概念的驅(qū)動(dòng)下削弱用戶對特定操作系統(tǒng)和應(yīng)用運(yùn)行環(huán)境的依賴。 在 PC 操作系統(tǒng)增長趨于穩(wěn)定成為現(xiàn)金牛后,微軟勢必要重新審視未來的幾十年。所幸,TypeScript 仍然由技術(shù)沉淀深厚的 Anders Heijlsberg 操刀,與 WinJS 一樣,兩者的使用都不局限于 Windows 平臺(tái)。更進(jìn)一步,Mary Jo Foley 在去年末為我們帶來的文章中 說到,微軟比“云操作系統(tǒng)”更超前的 Midori Bridge OS 項(xiàng)目并入操作系統(tǒng)部門由新*** Terry Meyerson 直接領(lǐng)導(dǎo)。Midori 同樣是一個(gè)運(yùn)作與不同操作系統(tǒng)之上的溝通平臺(tái)——我們由此能看到微軟正在積極打破以操作系統(tǒng)為最基層平臺(tái)的傳統(tǒng)觀念來做上層布局,這個(gè)消息確實(shí)令人振奮。