開發者曾紛紛逃離微軟生態,但現在他們想回來了

編者按:微軟在開發者生態方面,數年前一直處於蘋果的下風。近幾年來,通過一系列舉動,微軟在該領域取得非常大的突破,本文作者Owen Williams十年前從Windows系統遷移到MacOS,兩年前卻換回Windows,並對它讚不絕口。微軟都做了些什麼呢?原文標題Microsoft Failed Developers — and Now It Has a Plan to Win Them Back。

開發者曾紛紛逃離微軟生態,但現在他們想回來了
開發者曾紛紛逃離微軟生態,但現在他們想回來了

圖片版權:Sean Gallup/Getty Images

五年前,如果你走進舊金山的任何一家咖啡店,你會發現放眼望去,儘是亮著信仰燈的蘋果(Apple)筆記本電腦,想要在其中找到一台屬於Windows的電腦,簡直難上加難。MacBook是創業公司的不二選擇——不僅僅是因為它的外觀時尚,還因為它在網頁開發方面非常出色。

在過去的幾年裡,微軟(Microsoft)一直試圖扭轉這種局面,重新贏得程序員的青睞。上週,微軟的總體計劃以一項重大聲明收尾:從今年夏天開始,微軟將把Linux作為Windows 10操作系統的一部分。

就在幾年前,這似乎是不可能的——但微軟已經顯示出了自己壯士斷腕的雄心。多年來重新定義其業務的努力可能最終會有回報,因為開發人員終於能夠使用一系列現代工具在Windows上進行工作了。

所有這些開花結果的種子都是在不久前種下的。2016年,微軟宣佈了一項名為“Bash on Windows”的技術,使Linux應用程序在Windows中(比如流行的Node.js server)就像在一台Linux電腦上一樣運行成為可能。

不過這種體驗並不完整。從技術上講,Bash是一款軟件,但並不在本地運行——如果你在Mac上運行同樣的程序,就不會出現這種奇怪的情況。

當微軟在今年晚些時候將Linux內核引入Windows時,這一問題應該會得到解決。開發人員現在可以輕鬆地從他們的Mac或Linux電腦遷移到Windows電腦中,因為Linux將不再浮於虛擬機內,而是存在於Windows系統中。這可能是微軟重新奪回灘頭陣地的關鍵。

微軟是如何錯過web潮的

微軟的問題源於它完全錯過了web應用(web app)開發方式的轉變。在過去十年中,世界各地的開發人員都轉向了新的web開發語言,如Node.js和Ruby on Rails。隨著這種轉變的發生,在PC上做web開發變得越來越困難。

新語言的開創者——比如開發Ruby on Rails技術的David Heinemeier Hansson——只使用蘋果的操作系統,這使得在Windows上開發這些語言變得非常困難,或者壓根不可能。隨著開發人員從微軟創建的付費服務(如SQL Server)轉移到在Linux或macOS上運行的免費軟件(如MySQL),這些問題越來越嚴重。實際上,Windows用戶被拒之門外。

隨著整個世界成為開源軟件的世界,數億免費、易於安裝的代碼片段帶來開發革命——這些代碼片段可以通過npm(Node Package Manager,代碼包管理器)等工具獲得。Npm允許JavaScript開發人員搜索庫中的特定函數,比如“按日期排序數字”,找出一個現成的臨時解決方案,無需任何人編寫新代碼即可解決問題。

開發者曾紛紛逃離微軟生態,但現在他們想回來了
開發者曾紛紛逃離微軟生態,但現在他們想回來了

Windows系統內的Linux系統切換方法。圖片來源:微軟

據估計,現在90%以上的JavaScript開發人員都使用包管理器,它極大地減少了開發人員在代碼中實現一個想法需要消耗的時間和金錢。隨著包管理器的興起,前端開發框架(如Angular、React、Vue等)開始流行起來,這給Windows用戶帶來了更多的問題。

例如,構建和運行基於節點的web應用所需要的工具在Windows上有時只能發揮部分作用(如果它們能在Windows上運行的話)。讓npm和Node正確運行是一項複雜的任務,使開發人員幾近瘋狂。此類工具的開發者,沒有一個是用Windows電腦開發的。

更複雜的是,雖然任何人都可以通過Boot Camp輕鬆地在Mac上安裝Windows系統,但蘋果不允許在任何第三方硬件上安裝OS X,這意味著用Windows的開發人員要麼必須在他們的電腦上安裝開源Linux操作系統,要麼就得在他們現有的電腦上使用速度較慢的Virtual Server來完成工作。

轉變潮流

儘管Windows仍然統治著大公司市場(可能還有你的辦公室),但人們普遍認為,對於這波新的web開發浪潮來說,Windows是一個糟糕的平台。創業公司拒絶使用它。

在免費升級Windows 10後,微軟在尋找新的賺錢方式,主要專注於雲託管和企業版Azure服務。Azure允許開發者在全球各地的微軟數據中心託管主服務器,甚至只託管他們自己的代碼。

2015年,微軟發布了一款開源開發工具Visual Studio Code,吸引了很多開發人員。它不僅速度快得令人難以置信,而且可以無限定製,而且完全免費。該工具受到了開發人員的歡迎,現在是世界上最受歡迎的編程應用程序,超過50%的程序員都在使用它。

2016年,微軟真正打開了封鎖的大門。它發佈了Bash on Windows;將.NET編程語言開源;宣佈以數百萬美元收購了廣受歡迎的跨平台編程框架Xamarin。隨後,微軟收購了最受歡迎的開源平台GitHub;放棄了開發自己的瀏覽器引擎,轉而開發Chrome;甚至開放了Windows計算器的原代碼。

所有這一切都意味著,微軟在短短幾年的時間裡,將自己重新定義為一家關心開發者的公司。它宣佈將在Windows中搭載Linux子系統,這是一個致命的打擊,因為該組件將整個系統整合在一起。

Windows上的原生Linux可以很容易地讓開發者考慮第一次更換操作系統,成千上萬開發者可能會嘗試第二次更換(10年前,他們放棄Windows)。考慮到微軟已經吸引了數百萬使用Visual Studio Code等工具的開發人員的注意,它不需要做太多工作就能說服他們。

這個時機再好不過了:蘋果最近根本沒有關注在macOS上培育開發者生態系統,而是專注於讓人們開發iOS應用。

再加上災難性的MacBook鍵盤,當開發者需要購買一台新的筆記本電腦時,他們第一次把目光投向Mac之外。終於,Windows電腦看起來是一個可行的,甚至是更好的選擇。

頗為諷刺的是,微軟可能是在通過整合其他操作系統讓開發人員重返Windows,但這是一個明智的舉動:有選擇總是好的。如果你仍然持懷疑態度,考慮到該公司的過去,懷疑是很合理的。但你不能否認,微軟正年復一年地表明,它願意蛻變,願意創造一些新的東西。

我也是一名web開發者,所以當我的MacBook Pro鍵盤壞掉後,我就從macOS換到了Windows。換回Windows操作系統確實還挺難的,業內的朋友們也對這一舉措能否奏效持懷疑態度,但我仍然在使用我的PC。兩年之後,隨著Linux最終到來,我終於可以說:我用Windows的工作流程比用其他任何系統都要好。

本文經授權發布,不代表36氪立場。

如若轉載請註明出處。來源出處:36氪