瞭解.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三者的開發。debug
若是你要開發一個新的程序而且公司容許的話,那麼.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在將來也不會佔很大的比重。