了解.NET Framework 和 .NET Core 的差異,並且在什么時候應該選擇 .NET Core。 .NET Core是一個新的開源並且跨平台的用來構建可以所有操作系統(包括Windows, Mac, and Linux)上面運行的應用的的框架。那么你的下一個應用應該選擇哪一個平台那? .NET Core ? 還是 .NET Framework?在這篇文章里面,讓我們一起比較這兩個平台來看是否能得出結論。
.NET Framework的優勢:
如果你需要快速開發並部署一個 .NET 應用並且你沒有充足的時間去學習 .NET Core,那么 你應該選 .NET Framework。因為 .NET Core有一定的學習曲線。
如果你要維護並升級現有的 .NET應用程序,那么你應該選擇.NET Framework。移植一個現有的.NET程序去.NET Core 框架線面需要一定的工作量。
為了找一份工作?現在並沒有很多的關於.NET Core的職位供你選擇。
.NET Framework 就是這樣的,現在的版本是.NET Framework 4.8,很有可能這是.NET Framework的最后一個版本了。在未來並沒有計划有新的.NET Framework版本。
.NET Core的優勢:
假如你要開發一個新的應用並且有.NET Framework 和.NET Core 供你選擇,那么應該選.NET Core。
微軟剛剛宣布.NET Core V3.0,這是一個有很大提升的.NET Core版本。.NET Core將是你以后學習並開發一個應用程序時的選擇。
.NET Core 3.0支持已經支持了WPF和Windows Forms。.NET Core 3.0 還支持UWP,WPF和Windows Forms三者的開發。
如果你要開發一個新的程序並且公司允許的話,那么.NET Core 是你的一個很好的選擇。.NET Core 將會變的越來越好。
.NET Core 很適合跨平台的開發。 .NET Core 應用支持Windows,Linux和Mac OS。微軟的很受歡迎的開源文本編輯器 Visual Code 支持Windows,Linux和Mac OS。VS Code還支持IntelliSense 和 debugging,就像Sublime, Emacs, and VI, work w那樣 。
.NET Core 也是支持微服務的,它支持跨平台的服務與.NET Core 一起工作,即使這寫服務是.NET Framework, Java, Ruby,等等,開發的。
容器就是現在的虛擬機。.NET核心的模塊化、重量輕和靈活性使它更容易在容器中部署.NET核心應用程序。容器可以部署在任何平台、雲、Linux和Windows上。.NET核心與Docker和Azure Kubernetes服務都很好地工作。
一個需要高性能以及可擴展的系統
性能和可擴展性是.NET Core被開發出來時注重的兩個區域。
.NET Core每個版本之間的兼容性很好。你可以同時很容易的運行不同版本的應用在同一個機器上面。
.NET 核心系統
讓我們看一下如今的.NET核心系統架構根據下面的圖。
正如你在上圖看到的,.NET核心系統主要由三個主要的部分組成:.NET Framework, .NET Core, a和 Xamarin。
Xamarin 毫無爭議,當你想用C#構建一個移動應用()時Xamarin 是你唯一的選擇。
.NET Framework 支持窗體和網頁應用。現在,你可以使用Windows Forms, WPF, and UWP去創建一個Windows應用在.NET Framework平台。ASP.NET MVC往往被用來構建網頁應用在.NET Framework平台。
.NET Core 是新的開源和跨平台框架,用於為所有操作系統(包括Windows、Mac和Linux)構建應用程序。.NET Core僅支持UWP和ASP.NET Core。UWP用於構建Windows10目標窗口和移動應用程序。ASP.NET Core用於構建基於瀏覽器的Web應用程序。
.NET 的未來
微軟剛剛發布了.NET 5, 它將是在2020年可用。.NET5將會替代.NET Core 並且它是.NET Core和.NET Framework的未來。.NET5將不會支持ASP.NET Web Forms, WCF, 或者 WWF。UWP在未來也不會占很大的比重。