微軟這兩天有個Connect線上研討會(台灣時間11/12 23:00開始),由Scottgu領軍,介紹下一代的Visual Studio vNext、ASP.NET vNext以及Microsoft Azure,一開場就宣佈了重大消息(大家看到後會驚呆嗎? XD),隨後Scottgu也在部落格整理這次的.NET變革:
.NET核心Runtime及程式庫開放原始碼
繼ASP.NET、Visual Studio編譯核心Roslyn開放原始碼之後,一不做二不休,微軟決定將.NET核心也Open Source,一樣交給獨立組織.NET基金會管理經營。開放原始碼的目的在求與開發社群更密切融合,所有開發者能直接回饋,參與架構決定,甚至提交自己修改的程式變成.NET的一部分,日後才有機會跟孫子話當年勇:阿公寫的程式現在在好幾億台機器上跑呢!XD
.NET Core Runtime開放的範圍包含執行.NET程式所需的所有環節:CLR, Just-In-Time Compiler (JIT), Garbage Collector (GC), 以及.NET Base Class Libraries (BCL),大家可以在Github找到它們:https://github.com/dotnet/corefx (MIT授權)目前先開放一些新的核心程式庫模組,未來幾週會陸續將核心都送上去。
.NET Framework正式支援Linux及OS X
雖然.NET早就可以透過Mono在Linux平台上執行,但是終於,微軟正式將Linux納入.NET Framework的支援版圖,.NET開發人員從此能抬頭挺胸地說:我寫的程式在非Windows平台上也可以跑!(等這天等好久了~)
微軟將與Mono社群合作,引進Mono開發的一些進階功能,推出自己的Linux版本,而Mono社群也會因.NET開放原始碼,有助於開發。(但我個人覺得二者有互相替代性,未來或許會整合吧!)
Visual Studio社群版
地表上最強的開發工具,Visual Studio,一直是付費商業軟體,過去雖然有Visual Studio Express免費版本,但功能陽春,支援專案類型少,也無法使用擴充套件。這次所釋出的Visual Studio Community 2013免費版本,具有VS2013的完整功能,支援各種類型專案,可整合Xamarin、ReSharper、VsVim等各式擴充套件,讓Visual Studio好用到升天!
Visual Studio社群版適用的對象包含:
- 開發商業或非商業專案的個人開發者
- 參與開源專案的開發者
- 學術研究或教育課程參與者(例如:老師、學生、教室電腦安裝、線上課程等)
- 五名開發者以下的非企業組織
VS社群版現在已經開放下載囉!www.visualstudio.com
【心得】
這些改變影響有多大呢?分享我的一次推坑失敗案例:對象是大學的研究人員,準備投入一個中大型的科學研究計劃,需要開發涉及複雜數學運算,平行處理的程式。開發者有一些微軟開發經驗,C#原本是首選,當我被徵詢意見,自然是極力為.NET搖旗吶喊。但很遺憾地,該專案最後選擇了Java,理由是學術單位有很多Linux平台,未來跑網格運算需要大量機器,Linux成本較低,.NET雖有Mono可跨平台,但缺乏官方支援與背書,跑起來名不正言不順。另一方面,專案程式開發未來會開放其他研究者參與,.NET及Visual Studio固然威力強大,商業色彩卻讓許多學術人員卻步… 這番理由充分,怪不得最後專案選了Java。
如今,.NET開源並正式支援Linux平台,VS2013也推出免費社群版。物換星移,再次面臨相同抉擇,或許會有不同的結果吧!
微軟,幹得好!(雖然.NET for Linux晚了這麼久,但遲到總比缺席好)