這幾天在我FB洗版的大消息,莫過於.NET Core 1.0跟ASP.NET Core 1.0(原先命名為ASP.NET 5)已正式發佈!
Scott Hanselman說,他加入微軟多年一直致力.NET與Open Source推廣,在15年後.NET Core 1.0推出的這一刻,終於攀上巔峰。
.NET Core讓C#走出Windows,正式登陸Mac、RedHat Enterprise Linux、Ubuntu Linux,支援C#、VB、F#,而整個.NET Core都Open Source並放在Github,開發人員可以取得原始碼,回饋問題,甚至找到Bug自己改,發現不足自已加,還能貢獻自己的修改結果,如果被.NET Core小組接受,就能跟別人說:.NET Core裡面有兩行是我寫的!(喂)
由Scott的文章,我整理出以下重點。
.NET Core具備以下特性:
- 跨平台
可在Windows、Mac、Linux執行(既然已Open Source,將來有機會靠社群之力拓展到更多平台) - 彈性部署
可以跟程式一起部署,也可以每個使用者個別安裝或安裝於主機供所有使用者使用 - 命令列工具形式
.NET Core的所有相關程式都透過命令列方式執行 - 相容性
透過.NET標準程式庫與.NET Framework、Xamarin和Mono相容 - 開放原始碼
採MIT及Apache 2授權,文件採CC-BY授權,由.NET基金會管理 - 微軟支援
雖然開源,.NET仍是微軟的產品,享有產品支援
.NET Core包含以下部分:
- .NET Runtime
CoreCLR,負責型別系統、組件載入、記憶體回收(GC)、Interop(與Unmanaged程式溝通)及其他基本服務 - Framework程式庫
CoreFx,包含System.Collections, System.IO, System.Xml… 這些基本程式度 - SDK工具及編譯器
CLI Tools與Roslyn編譯引擎,可以透過.NET Core SDK取得。 - dotnet App Host
用來選取並執行Runtime、提供組件載入原則並啟動.NET Core應用程式。SDK工具也是使用相同方式啟動。
如果你想嚐試.NET Core,最方便的方法是更新到Visual Studio 2015 Update 3再安裝.NET Core Tools for Visual Studio。(如果你還沒裝VS2015,可以考慮VS2015社群版,免費)
若覺得Visual Studio 2015太笨重,Visual Studio Code安裝C#擴充套件也是另一種選擇。至於Mac/Linux平台,就得靠命令列工具打通關。
.NET Core的文件在:https://docs.microsoft.com/dotnet,另外.NET Core官網:https://www.microsoft.com/net有個好玩的線上C#編譯介面,類似TypeScript Playgournd,可以寫一小段程式在雲端直接執行:
另外還有一個C#教學網站,教學內容還針對JavaScript、Java、VB6、C++背景的開發人員設計,很有誠意。
盼了十幾年,終於等到這一天,未來要在Linux平台寫程式,總算有火力強大的制式武器可用了!萬歲~