先看看netcore有哪些特性,哪些優點,與.net frameworkd 差異吧:
l 跨平台: 可以在 Windows、macOS 和 Linux 操作系統上運行。
l 跨體系結構保持一致: 在多個體系結構(包括 x64、x86 和 ARM)上以相同的行為運行代碼。
l 命令行工具: 包括可用於本地開發和持續集成方案中的易於使用的命令行工具。
l 部署靈活: 可以包含在應用或已安裝的並行(用戶或系統范圍安裝)中。 可搭配 Docker 容器使用。
l 兼容性: .NET Core 通過 .NET Standard與 .NET Framework、Xamarin 和 Mono 兼容。
l 開放源代碼: .NET Core 平台是開放源代碼,使用 MIT 和 Apache 2 許可證。 .NET Core 是一個 .NET Foundation 項目。
l 由 Microsoft 支持: .NET Core 由 Microsoft 依據 .NET Core 支持提供支持。
API
.NET Core 公開了多種方案的 API,以下介紹了幾種:
l 集合:比如 System.Collections.Generic.List<T> 和 System.Collections.Generic.Dictionary<TKey,TValue>。
l 實用程序類型,例如 System.Net.Http.HttpClient 和 System.IO.FileStream。
l 數據類型,例如 System.Data.DataSet 和 DbSet。
l 高性能類型,例如 System.Numerics.Vector 和 Pipelines。
.NET Core 通過實現 .NET Standard 規范提供 .NET Framework 和 Mono API 的兼容性。
.NET Core 包括以下部分:
l .NET Core runtime:提供類型系統、程序集加載、垃圾回收器、本機互操作和其他基本服務。
.NET Core 框架庫提供基元數據類型、應用編寫類型和基本實用程序。
l ASP.NET runtime:提供框架以生成基於新式雲的 Internet 連接的應用程序,例如 Web 應用、IoT 應用以及移動后端。
l .NET Core CLI 工具和語言編譯器(Roslyn 和 F#):提供 .NET Core 開發人員體驗。
l dotnet 工具:用於啟動 .NET Core 應用和 CLI 工具。 它選擇運行時並托管運行時,提供程序集加載策略並啟動應用和工具。
這些組件采用以下方式分布:
l .NET Core runtime -- 包括 .NET Core 運行時和框架庫。
l ASP.NET Core runtime -- 包括 ASP.NET Core 和 .NET Core 運行時以及框架庫。
l .NET Core SDK -- 包括 .NET CLI 工具、ASP.NET Core 運行時以及 .NET Core 運行時和框架。
.NET Core 和 .NET Framework 的主要差異在於:
l 應用模型 -- .NET Core 不支持所有 .NET Framework 應用模型。 具體而言,它不支持 ASP.NET Web 窗體和 ASP.NET MVC,但支持 ASP.NET Core MVC。 已宣布 .NET Core 3 將支持 WPF 和 Windows 窗體。
l API -- .NET Core 包含 .NET Framework 基類庫的一個大型子集,但具有不同的組成要素(程序集名稱不同;類型上公開的成員在關鍵用例中不同)。 這些差異需要在某些情況下更改 .NET Core 的端口源(請參閱 microsoft/dotnet-apiport)。 .NET Core 實施 .NET Standard API 規范。
l 子系統 -- .NET Core 實現 .NET Framework 中子系統的子級,目的是實現更簡單的實現和編程模型。 例如,不支持代碼訪問安全性 (CAS),但支持反射。
l 平台 -- .NET Framework 支持 Windows 和 Windows Server,而 NET Core 還支持 macOS 和 Linux。
l 開源 -- .NET Core 是開源的,而 .NET Framework 的只讀子集是開源的。
整體上看NETCORE有很好的發展前景,基於standard接口的,讓我們用起來不會那么陌生。一些語法語法糖完全跟net framework一樣。很多組件類庫重新模塊化,更加輕巧,性能更優(聽說重新編譯的VS性能提升幾百倍?) 那么 不多說 干起來吧!