本月14日,微軟發佈.NET Core 2.0 正式版,它的發佈意味着.NET Core平臺更加成熟,也預示其更美好的將來。本文將分析.NET Core 的特性以及將來發展方向,爲開發人員選擇在何種平臺開發程序提供參考。html
.NET Core是.NET Foundation的一部分,以下圖:瀏覽器
.NET Foundation是一個圍繞.NET開發框架,並不斷創新的社區。微軟的另外一大進步就是使ASP.NET Core開源。因爲它是一個開源平臺,您能夠更好地控制使用和修改它,而且其代碼的透明度能夠爲您本身的基於.NET Core的項目提供信息和靈感。此外,您和您的夥伴能夠更快地更正錯誤和規避安全風險,使.NET Core更安全。.NET Core更穩定,由於該平臺工具的代碼將始終保持公開。整個框架源和包能夠在GitHub站點上找到。安全
除了使其成爲開放源碼外,微軟已經竭盡全力地使其跨平臺。開發人員將可以在Mac,Linux或Windows系統上開發應用程序。事實上,它還引入了專門爲Mac和Linux用戶提供的新的代碼編輯器「Visual Studio Code」。服務器
.NET Core的這一功能可幫助開發人員靈活部署:做爲應用程序(FDD-框架依賴部署)的一部分,或做爲全新的安裝(SCD-獨立部署) 。FDD容許您使用較小的部署包最小化內存和磁盤空間的使用,而SCD則能夠徹底控制項目部署(包括.NET Core庫和運行時)。架構
此功能可幫助開發人員根據項目的要求僅使用必需的軟件包。模塊化架構有助於升級其跨平臺兼容性。所以,開發人員如今能夠設計輕便,高效和強大的應用程序。與之前的版本相比,新版本相對更輕,更小,這有助於加快開發過程。對文件系統進行了較大改變,將有助於搭建健壯的開發環境。框架
與之前的版本相比,新版本更輕,更小,這有助於提升開發效率。爲了搭建健壯的開發環境,文件系統做了較大變化。能夠在名爲DNVM或Dot Net版本管理器的命令行訪問每一個可能的產品方案。該命令行能夠方便地更新和配置.NET運行時。這是.NET執行環境的補充。命令行的另外一個好處就是它與平臺無關,開發人員不須要一次又一次地學習工具鏈。一旦熟悉其使用,就能夠在任何其餘支持的平臺或界面上使用相同的方式。asp.net
ASP.NET Core 是率先開發出保持雲集成的功能。由於它支持基於雲的配置,因此雲端初始化設置容許開發人員將其應用程序方便發佈到雲端。編輯器
版本 | 發佈時間 |
---|---|
1.0 RC1 | 2016年2月15日 |
1.0 RC2 | 2016年5月16日 |
1.0 | 2016年6月27日 |
1.1 | 2016年11月16日 |
2.0 | 2017年8月14日 |
2.1 | 2017第四季度 |
** RC1 **模塊化
2016年1月 ASP.NET 5 更名 ASP.NET Core 1.0 ,全部名字變更以下圖:微服務
1.0 RC2
.NET Core橫跨各平臺:,也就是說全部基於.NET Core 構建的應用模型(好比:ASP.NET Core, Console Apps 和 class libraries)不只能夠運行在Windows系統之上,同時也能夠運行在OS X 和 Linux系統之上。
1.0
微軟團隊提供的下載中(https://www.microsoft.com/net/download)包含了 .NET Core Runtime, .NET Core SDK, .NET Core VS Tooling (包括 Web 開發工具), .NET Core Windows Server Hosting, 以及更新的 NuGet ASP.NET Core 1.0 和 Entity Framework Core 1.0 包。微軟還發布了用於建立 .NET Core 項目的 Visual Studio 和 Visual Studio Code 擴展,以及 .NET Documentation(https://docs.microsoft.com/zh-cn/)。
1.1
.NET Core 1.1 發佈,這個版本支持有效期三個月,後續有變更。
11/16 .NET Core 1.1 RTM 版發佈。對應發佈 ASP.NET Core 1.1 、EF Core 1.1。Visual Studio for Mac 也一同發佈。能夠經過Visual Studio 2015, Visual Studio 2017 RC, Visual Studio Code and Visual Studio for the Mac 建立 .NET Core 1.1 的應用。
2.0
受Visual Studio 2017 15.3 版本支持,並引進了新的 Razor Pages 用戶界面設計範例。對於ASP.NET Core來講,這個版本主要簡化了部署,提升了預加載頁面性能.人們更關注配套的.NET Core 2.0平臺帶來的變化:
最終能夠理解爲.NET Core 2.0 將是等價於 .NET Framework 4.6.1,同時既有的.NET Framework代碼能夠很輕鬆的移植到.NET Core平臺
.NET Framework支持Windows和Web應用程序。今天,您可使用Windows Forms,WPF和UWP在.NET Framework中構建Windows應用程序。ASP.NET MVC用於在.NET Framework中構建Web應用程序。
.NET Core是爲全部操做系統(包括Windows,Mac和Linux)構建應用程序的新型開源和跨平臺框架。.NET Core支持UWP和ASP.NET Core,UWP用於構建Windows 10目標Windows和移動應用程序,ASP.NET Core用於構建基於瀏覽器的Web應用程序。經過下圖您能看到.NET Core和之前的.NET Framework的主要功能區別:
一樣的ASP.NET Core 與 傳統的 ASP.NET 也有較大區別,以下圖所示:
產品需求 | .Net Core/Framework |
---|---|
使用Windows Forms和WPF的Windows客戶端應用程序 | .NET Framework |
使用到WCF,WF等庫的應用程序 | .NET Framework |
須要使用的第三方.NET 庫或NuGet包不能用於.NET Core | .NET Framework |
須要使用不可用於 .NET Core 的 .NET 技術 | .NET Framework |
須要使用不支持 .NET Core 的平臺 | .NET Framework |
預配置的環境和系統 | .NET Framework更好 |
對Dockers容器支持 | 都支持,但.NET Core更適合 |
微服務 | 均可以,但.NET Core更適合 |
跨平臺需求 | .NET Core |
須要高性能和可擴展的系統 | .NET Core |
須要按應用程序級別選擇並行的 .NET 版本 | .NET Core |
.NET Core平臺自2016年誕生到如今發展很快,這不稀奇.在它出生前微軟就積累的多年.NET Framework經驗.從以上咱們能看出微軟的策略:
目前看第一步完成度很高,第二步完成了70%(按API數量實現).第三步也一直在作.咱們能從微軟的發展路線中看到一個美好的前景,即用.NET的語言給各類設備寫一遍程序就足以應付產品需求,這是多方雙贏的局面。咱們也由衷的但願.NET Core有一個更加美好的將來。