歡迎光臨
每天分享高質量文章

.NET Framework VS .NET Core

本文對應的原文來至 c-sharpcorner 的一篇文章,文末有連結。如有錯誤,還請指正。

前言

你會為你的下一個應用程式選擇哪一種開發平臺 – .NET Framework 或者 .NET Core?在這篇文章中,讓我們比較一下這兩個開發平臺的特點,看能否得出一個結論。

.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 Core 和 .NET Framework 來構建新的應用程式,那麼 .NET Core 是一條應該要走的路。

  • 微軟已經宣佈了 .NET Core v 3.0 ,這是一個有非常多改進的 .NET Core 版本,如果你想學習和使用裡面的新特性,那麼.NET Core 是值得嘗試的。

  • .NET Core 3.0 目前支援 WPF 和 Windows Forms,.NET Core 3.0 同樣也支援在 UWP, WPF 和 Windows Forms 之間進行混合開發。這將使得開發者能夠更靈活地將 UWP 中一些更現代化的介面引入到 WPF 和 Windows Forms 中。

  • 如果你正在構建新的應用程式,並且你的公司支援使用 .NET Core,那麼 .NET Core 是一個不錯的選擇,總之 .NET Core 會越來越好的。

  • NET Core 更適合跨平臺的需求, .NET Core 的應用程式支援在 Windows, Linux, and macOS 執行。微軟廣受好評的開原始碼編輯器 Visual Studio Code 支援 Linux 和 macOS,同時它也支援更加現代化的編輯需求,如 智慧感知[IntelliSense] 和 除錯[debugging],大多數其它第三方的編輯器,如 Sublime, Emacs, 和 VI 同樣支援 .NET Core。

  • 微服務架構同樣在 .NET Core 中適用,它可以和不同平臺的服務共同工作。包括透過 .NET Framework, Java, Ruby 等語言開發的。

在容器化大行其道的今天,.NET Core 的模組化、輕量級以及它的靈活性使得它能很容易地部署到容器中,容器可以部署到任何平臺,如 雲上、Linux 和 Windows 上。 .NET Core 適用於 Docker 和 Azure Kubernetes 服務。

高效能、可縮放的系統

對於 .NET Core 開發而言,效能和可縮放性是兩個主要的關註點,根據一些基準測試,.NET Core和ASP.NET Core是效能最佳的Web框架。

.NET Core 的多個版本可以共存, 您可以在同一臺計算機上同時部署執行多個版本的應用程式。

.NET 生態

時至今日,讓我們再回顧一下 .NET 生態架構圖。

正如你看到的那樣,.NET 生態有三個主要的高階別元件 – .NET Framework, .NET Core, 和 Xamarin。

  • Xamarin

毋庸置疑,當你想透過 C# 來構建移動應用(IOS,Android 和 Windows Mobile),Xamarin 是你唯一的選擇。

  • .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用於構建 Windows10 標的Windows和移動應用程式。 ASP.NET Core用於構建基於瀏覽器的 Web 應用程式。

我該如何選擇

如果你今天必須要在 .NET Framework 和 .NET Core 之間做出選擇,這有一個原則,請記住,在未來一年左右的時間裡,您可能根本不想選擇.NET Framework。

到目前為止:

如果你:

  • 沒有時間學習新技術;
  • 需要一個穩定舒適的工作環境;
  • 有更近的釋出日程表;
  • 已經在為現有應用程式擴充套件功能;
  • 已經擁有一支具有 .NET 專業知識和為構建生產軟體準備就緒的現有團隊;
  • 不想處理持續的升級和更改;
  • 使用了 Windows Forms 或 WPF 構建了 Windows 客戶端程式;

那麼,.NET Framework 會是一個好的選擇。

如果你:

  • 希望你的應用程式執行在 Windows, Linux, 和 Mac 作業系統上;
  • 不害怕學習新東西;
  • 不害怕在 DotNetCore 還不成熟的情況下遇到和解決問題;
  • 是一名剛開始學習 .NET 的學生;
  • 喜歡開源;

那麼,.NET Core 會是更好的選擇。

如下有一張表,希望幫到你:

High-performance and scalable system without UI .NET Core is much faster.
Docker containers support Both, but .NET Core is born to live in a container.
Heavily reply on command line .NET Core has better support.
Cross-platform needs .NET Core
Using Microservices Both, but .NET Core is designed to keep today’s needs in mind.
User interface centric Web applications .NET Framework is better now until .NET Core catches up.
Windows client applications using Windows Forms and WPF .NET Framework
Already have a pre-configured environment and systems .NET Framework is better.
Stable version for immediate need to build and deploy .NET Framework has a been around since 2001. .NET Core is just a baby.
Have existing experienced .NET team .NET Core has a learning curve.
Time is not a problem. Experiments are acceptable. No rush to deployment. .NET Core is the future of .NET.

相關參考

  • 原文地址:
    Difference Between .NET Framework and .NET Core

已同步到看一看
贊(1)

分享創造快樂