.NET開源,對開發者來說意味著什麼?

.NET開源,對開發者來說意味著什麼?

.NET開源了!全世界開發者圈子霎時炸開了鍋,筆者第一時間登錄CSDN評論佔座就立馬被無數程序員的口水戰瞬間淹沒。近日,微軟公布了.NET開發環境開源計劃,開發者可在Windows以外的其他平台上開發.NET應用程序,同時微軟承諾將對這些平台提供.NET應用的運行環境及框架支持。

在那些熱鬧非凡的程序員圈子和論壇社區里,圍繞著.NET開源的消息,碼農之間的爭論已經升級到java與.NET開發者的各種恩怨情仇,甚至延伸至Linux與Windows在伺服器端的優劣之爭。一些積鬱已久的微軟死忠和以.NET為生計的程序員甚至喊出了「java去死」的口號。

.NET開源意味著什麼?為什麼這一消息對於開發者猶如重磅炸彈?它對微軟及業界將產生什麼影響?帶著三個問題讓我們先從程序員世界的那些破事兒說起。

java與.NET兩大陣營

計算機語言的發展經歷了機器語言、彙編語言、高級語言以及C、C++、java等翹楚在歷史上閃耀過後,聰明的靈長類動物人類將編程語言做成了各種簡便易學易用的開發工具和開發平台,利用這些工具平台你只須像搭建高樂積木般就能碼出自己想要的東西,當然你還得會削積木(掌握語言)。後來經過時間演化形成了兩大開發陣營——java和.NET,簡單說前者是跨平台的開發工具,可以在不同操作系統上進行開發、運行、維護;而後者是跨語言的開發平台,允許使用多種編程語言結合其工具進行開發,但開發過程和應用程序的運行只能在Windows平台上實現。兩者各有優劣,一目了然。

儘管.NET倚恃他爹微軟以實力雄厚、功能強大著稱,但自互聯網時代特別是移動互聯時代微軟固守Windows平台的局限性,其自然被靈活機動跨平台的java搶盡風頭。然而納德拉顯然不是吃素的,.NET開源了,不僅支持跨平台開發,重要的是跨平台運行,這使得java虛擬機的優勢蕩然無存。

.NET開源對java的影響

歷史證明,開源與商業軟體就像兩股相互抑制的力量,它們是一種此消彼長的關係,但絕不會完全吞併另一方。

過去十幾年,java順應互聯網發展趨勢以其卓越的通用性、安全性、平台可移植性贏得了全球開發者的青睞,並積累起龐大的簇擁人群。然而卻鮮有人知道java起步之初就受到了來自微軟與Adobe的雙向絞殺而一度瀕危,艱難存活下來之後,其真正的發家則在於移動時代的到來,安卓平台給了它廣闊空間和涅槃之力。如今,java在伺服器端和手持設備領域已如日中天。

谷歌公司手持java利器號召開源勢力對微軟窮追猛打的這些年真的把微軟逼急了。微軟新帥納德拉上任後的三把火讓谷歌明白了他們正在挑釁一隻受了輕傷的獅子,而這隻獅子正在重振雄風。事實證明微軟在多年之前就已擁抱開源,參與Linux內核貢獻並成立開放技術子公司,而今年早些時候對Roslyn編譯器的開源亦是其.NET開源大計的前奏。甚至一些開源社區的領袖人物也表示不再將微軟視為「敵人」,同時他們認為未來.NET與java將互不干涉地共存。

納德拉的計謀

我們看到納德拉上任後實施的一系列舉措讓微軟在潛移默化中得到改變,「移動為先、云為先」的兩個「先」字在這段日子裡得到了明確的執行。從Office跨平台免費到VS跨平台免費以及VS Emulator for Android的發放,微軟在跨平台上大做文章並拉攏個人消費者和開發者,表面上似乎丟車保帥採取Windows平台讓利策略,實則在暗地裡下一盤很大的棋。

眾所周知,蘋果依賴品牌溢價而大賣硬體,其封閉的軟體生態為諸多開發者所詬病,結果就是導致了安卓的野蠻生長。納德拉似乎看到了谷歌的弱點:儘管安卓系統在智能移動市場壟斷地位已現,但業內一股安卓「去谷歌化」的暗流卻在蔓延滋生,也就是說谷歌正逐漸喪失對安卓的控制,當年AT&T公司放任UNIX變種發展導致BSD的反超和一枝獨秀就是最好的例證。

納德拉的新策略致力於將微軟的生態核心從Windows轉移至Azure雲,.NET平台的開放有利於實現微軟新生態向安卓平台的滲透,助長安卓系統繼續野蠻生長,加速其脫離谷歌的控制。在未來,我們或將看到大量優質的.NET應用運行在安卓和iOS平台上,而這一切的背後都將伴隨著Azure雲的影子。

不久前,微軟市值升至4089億美元位居全球第二並超過谷歌公司。我們看到微軟正逐漸走出PC時代的思維困局,朝著即將到來的下一波移動浪潮布局著有利戰略。不得不說,繼施密特、庫克之後,納德拉是一個不簡單的矽谷經理人。那個老鮑用充滿激情大嗓門喊著"Web Developers! Web Developers! Web Developers!"的時代已成為過去,如今的微軟則讓人看到了蓋茨時代的狡黠。

推薦閱讀:

Eggjs 和 SOFA 的跨語言互調
2018年6月4日:開源日報第88期
GitHub開源項目2018-06-13更新精選
GitHub開源項目2018-06-06更新精選

TAG:開源 | 開源軟體 | 開源項目 |