微軟開源.NET:戰略重心已從PC轉移到雲端

【編者按】2014年11月13日,微軟宣佈開源.NET,包含整個.NET服務器端的核心類別,ASP.NET5.0、.NETCommonLanguageRuntime(CLR)、Just-In-TimeCompiler、GarbageCollector以及BaseClassLibraries等,都在開源的範疇之中。消息一出,霎時在全世界開發者的圈子內炸開了鍋。巨頭企業這次不光是口頭喊出“擁抱開源”的口號,踐行開源能夠看出微軟是動真格的了。針對此事,筆者請教了業內資深人士張善友老師。張老師根據自己多年的開發經驗,針對微軟開源.NET事件,表達了自己的看法。

曾經的替代品Mono:將死還是重獲新生?

張老師於2001年開始接觸.NET,個人很欣賞C#語言的強大操作能力、優雅的語法風格以及創新的語言特性。他認爲微軟.NET的優點主要有三個:多語言、多平臺支持;學習成本低;擁有一流的開發工具。

然而另一方面,本身具備跨平臺基因的.NET卻因爲微軟戰略部署,包括在底層代碼的實現上,都沒有做到跨平臺的支持。真正能夠實現跨平臺支持的是由Novell公司發起的Mono項目,植根於.NET的技術核心,.成爲了其在Linux上使用的替代品。

Mono歷經十餘年發展,已經成長爲一個龐大的生態系統。.NETFramework和Mono的交集僅限於CLR/編譯器/BCL底層以及Web棧。.NETFramework的上層爲Windows和Azure設計。Mono上層針對Linux,OSX等多平臺設計,不可替代的東西很多。

相比於微軟,Mono項目依舊有不完善的方面,開發者在使用過程中有許多不便之處。在2007年微軟僅僅是基於自己的“參考協議”公開了部分源代碼,既不能編譯成完整的函數庫使用,也實際上不允許類似的代碼使用。對於Mono項目的代碼貢獻者來說,這反而是個負擔。

張老師表示,爲了避免出現可能的版權糾紛,仔細閱讀和研究過微軟代碼的人是不能夠給Mono捐獻核心代碼的。徹底的基於OSI認證的MIT協議公開了.NETFramework的核心代碼,並且提供了免費的專利授權,這使得Mono可以“拿來就用”。更好的繁榮了.NET/Mono這兩個龐大的生態系統。微軟完全開源.NET,提供了專利承諾,都將都有助於.NET得到應用。此外,Mono團隊可以利用微軟的開源,來解決Mono代碼庫中不完整或者存在錯誤的地方。

開發者:重新迴歸.NET社區

張老師表示,曾經身邊的很多人都離開.NET開發轉向Java、PHP等的開發。.NET的開源能夠吸引這些人重回.NET社區,對推動社區的發展非常有幫助。

張老師說,在國內經常聽到這樣的故事,某產品是基於.NET開發的,而政府的項目需要使用Linux操作系統。開發者不得不面對兩種選擇,第一種是將產品移植到Mono平臺,另一種選擇是重新組建一個Java開發團隊將產品重新用Java開發一遍。這兩種選擇在國內都有,但是可惜的是很多都選擇了重新組建一個Java團隊,而不是將產品移植到Mono平臺。但隨着微軟開源.NET之後,開發者們再也不需要被迫走彎路了,包容開放的社區環境無疑會收穫大量人才的迴歸。

微軟:開源並不是突然之舉

其實早在多年前微軟就通過開源asp.netmvc等項目支持了Mono項目。近年微軟開始參與Linux內核貢獻併成立了開放技術子公司。在今年4月成立.NET基金會,將衆多開發工具納入開源計劃之中,例如.NET編譯平臺Roslyn、ASP.NET、.NETMicroFramework等,這一系列的舉動都是.NET開源的前奏。

微軟的市值現在升值爲4100億美元,超過了谷歌公司位居全球第二,自身正逐漸走出PC時代的思維困局,做好準備迎接即將到來的物聯網時代。微軟發佈新的計劃,將加大對.NETMicroFramework的投入力度,着力在智能設備和物聯網領域進行深度開發。

擅長PC業務的微軟,在“雲”這個平臺上,自身的技術和整體佈局上並沒有落後,戰略眼光和實際執行均部署到位。但是在移動入口(手機、平板)市場,微軟進入的雖早,卻收效甚微。即便是收購了日漸式微的老牌巨頭諾基亞,也沒有擺脫戰敗的局面。所以微軟現在宣佈開源.NET,鼓勵支持Android和IOS開發,就是想在移動入口有所作爲。


未來:納德拉在下一盤很大的棋

開源.NET是爲了落實微軟新任CEO薩提亞·納德拉倡導的“移動爲先,云爲先”新政。張老師認爲,在現在的時代,存在替代選擇的情況下,開發者已經沒有理由爲操作系統付費。他們可以選擇雲服務。微軟此舉只是吸引更多開發者使用其Azure服務。

微軟的營收支柱軟件Windows和Office都完成了雲化,Windows對應Azure雲平臺,Office演化成了Office365。微軟的戰略重心已經從PC轉移到雲端,.NET開源可以促使更多的開發者使用Azure雲服務。

納德拉在上任後實施的一系列舉措讓微軟在潛移默化中得到改變,信奉跨平臺戰略,主張以開發者而不是Windows爲中心重構微軟的軟件和雲基礎架構,搭建完善的雲開發的生態系統,無疑是對競爭對手們的沉重的打擊。新政致力於將微軟的生態核心從Windows操作系統轉移到Azure雲。.NET的開源有利於實現微軟新生態向Linux,iOS和Android的滲透,VisualStudio和.NET能夠真正走向跨平臺化。

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