1. 程式人生 > 其它 >什麼是.NET Core ?它和.NET Framework 有什麼不同?

什麼是.NET Core ?它和.NET Framework 有什麼不同?

.NET Core  已經發布好幾年了,很多.NET 程式設計師也一定跟我一樣心中一直有以下疑問, 

  1. .NET Core到底是不是  .NET 的下一個版本?還是說只是  .NET 支援跨平臺的一個版本?
  2. 作為傳統的  .NET 開發者或者說開發的程式都是在WIndows環境下面工作的,有沒有必要學習  .NET Core?
  3. .NET Core 和  .NET Framework有什麼不同?
  4. 在開發新的程式是應該怎麼選擇.NET Core 和  .NET Framework?

帶著這些疑問我找到了一篇文章介紹  .NET Core 和  .NET Framework的不同,在這篇文章裡面基本回答了上面的幾個問題。為了更好的理解這些內容,我決定把它翻譯一下記在這裡。

原文連結會放在底部。

                                            

 

                                  .NET Framework 和 .NET Core 的差異

 

        瞭解.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在未來也不會佔很大的比重。

 

 

原文

 

根據這篇文章回答一下剛開始提出的問題,

  1. .NET Core到底是不是  .NET 的下一個版本?還是說只是  .NET 支援跨平臺的一個版本?嚴格來說不是,他們是並行的.NET 5才是會最終替代這兩者的東西
  2. 作為傳統的  .NET 開發者或者說開發的程式都是在WIndows環境下面工作的,有沒有必要學習  .NET Core?好像也沒有很好的回答這個問題。但是個人覺得還是很有必要的,畢竟.NET Framework已經不更新了那麼一些新的特性肯定會在.NET Core上面在.NET 5出現之前。
  3. .NET Core 和  .NET Framework有什麼不同?這個具體就要看文章裡面的比較了。
  4. 在開發新的程式是應該怎麼選擇.NET Core 和  .NET Framework?文中的作者是建議前者的在條件允許的情況下。