NET Core的介紹
.NET Core 是一個通用開發平台,它由微軟和開源社區共同管理(git hub的.NET開源社區);
他支持Windows,macOS和Linux,並且可以運行在硬件設備中、雲平台上和物聯網嵌入式設備中;
.NET Core的主要標志性特征如下:
-
彈性部署:他可以運行在你的應用內部,也可以被部署在一個服務器群集上;
-
跨平台:他可以運行在Windows,macOS和Linux上;也可以移植到其他操作系統上;被支持的操作系統、CPU和應用場景,將會隨着時間推移,越來越多;未來微軟和其他公司、個人都會為此做出貢獻;
-
命令行工具:所有的產品應用都可以在命令行工具下執行
-
兼容性:.NET Core通過.NET標准庫(.NET Standard Library)實現兼容性,其兼容.NET Framework, Xamarin 和 Mono
-
開源:它基於MIT 和 Apache 2開源,文檔遵從CC-BY規范;.NET Core是.NET基金會的一個項目;
-
微軟支持:微軟支持.NET Core,具體信息請查閱:https://www.microsoft.com/net/core/support/
.NET Core的主要組成部分如下:
-
.NET運行時(主要包括:類型系統、程序集加載、垃圾回收、原生程序的互操作接口、其他基礎服務)
-
一批框架類庫(主要包括:原始數據類型、應用組成類型、基礎工具集)
-
SDK工具集和語言編譯器(.NET Core SDK提供最基礎的開發支持)
-
dotnet應用加載器(運行時選擇器、運行時裝載器、程序集加載規則、SDK工具裝載器)
支持的語言如下:
可以用C# 和 F#來開發.NET Core的類庫和應用;
Visual Basic也將得到支持,但目前還沒有;
編譯器直接運行在.NET Core 中;
這樣你可以隨時隨地編譯你的.NET Core程序;
(一般你不會直接使用.NET Core提供的編譯器,你會直接使用SDK提供的工具來編譯你的程序)
編譯器可以很好的和多種不同的IDE或者文本編輯工具來結合;
比如:Visual Studio, Visual Studio Code, Sublime Text 和 Vim;
你可以到OmniSharp找到你想要的語言開發環境(注意OmniSharp是非微軟官方支持的民間組織)
.NET API和兼容性:
.NET Core可以被理解為一個跨平台版本的.NET Framework,它處於.NET基礎類庫層(BCL)
它實現了.NET標准庫的規范;它提供的API是.NET Framework的子集;
在某些情況下,並不是所有.NET Framework提供的類型都被.NET Core實現了;
想進一步了解.NET Core的路線圖,可以看這里:https://github.com/dotnet/core/blob/master/roadmap.md
與.NET標准庫(.NET Standard Library)的關系:
.NET標准庫是一種API技術規格,
它約束所有.NET實現必須遵從此規格,
只要遵從此規格的.NET的實現,就可以互相兼容;
.NET Core是一種.NET標准庫的實現;
工作內容:
.NET Core自帶命令行工具,可以運行獨立的命令行程序、基於命令行的本地服務、基於命令行的文本游戲;
在.NET Core之上已經建立了一部分擴展應用模塊,比如:
-
Windows 10 Universal Windows Platform (UWP)
-
分發方式:
官方使用兩種方式分發.NET Core,
一種方式是把.NET Core的分法包發布到NuGet.org上去;
一種方式是發布獨立的安裝包;
你可以通過VisualStudio等工具獲取.NET Core