1. 程式人生 > >通俗易懂,什麼是.NET Core,.NET Core能做什麼

通俗易懂,什麼是.NET Core,.NET Core能做什麼

作者:依樂祝
原文地址:https://www.cnblogs.com/yilezhu/p/10880884.html

我們都知道.NET Core是一個可以用來構建現代、可伸縮和高效能的跨平臺軟體應用程式的通用開發框架。可用於為Windows、Linux和MacOS構建軟體應用程式。與其他軟體框架不同,.NET Core是最通用的框架,可用於構建各種軟體,包括Web應用程式、移動應用程式、桌面應用程式、雲服務、微服務、API、遊戲和物聯網應用程式。與其他框架不同,.NET Core並不侷限於單一的程式語言,它支援C#、VB.NET、F#、XAML和TypeScript。這些程式語言都是開源的,由獨立的社群管理。

.NET Core提供了最先進、最成熟和最廣泛的類庫、公共API、多語言支援和工具。藉助於Visual Studio 2019和Visual Studio Code 這些最先進和最現代的開發工具,使得.NET Core成為開發人員最高效的平臺之一。

注: 微軟最近宣佈了.NET 5,這是.NET Core的未來。將來,.NET Core將改名為.NET,下一個版本的.NET Core將是.NET 5.0。

.NET Core的歷史

.NET Core是由Microsoft開發,目前在.NET Foundation(一個非營利的開源組織)下進行管理。.NET Core是用C#和C++編寫的,並採用MIT協議作為開源協議。第一個版本的.NET Core 1.0是在2016年釋出的,功能有限。NET Core 2.0於2017年8月14日釋出。在這個版本中釋出的兩個核心框架是ASP.NET Core2.0和 Entity Framework Core 2.0。下一個穩定版本.NET Core 2.1和2.2於2018年5月和12月釋出。.NET Core的當前版本為3.0.0,並且在2019年5月6日釋出了第5個預覽版。

下表總結了.NET Core的主要里程碑:

版本 釋出日期 關鍵特徵/產品
.NET Core 1.0 6/27/2016 VisualStudio 2015 Update 3支援的.NET Core的初始版本。
.net Core 1.1.1 3/7/2017 .NET Core Tools 1.0受VisualStudio 2017支援
.NET Core 2.0 8/14/2017 VisualStudio 2017 15.3,ASP.NETCore 2.0,實體框架2.0
.NET Core 2.1 5/30/2018 ASP.NET Core 2.1,EF Core 2.1
.NET Core 2.2 12/4/2018 ASP.NET Core 2.2,EF Core 2.2
.NET Core 3.0預覽3 3/6/2019 通過VisualStudio2019支援ASP.NET Core 3.0、EF Core3.0、UWP、Windows窗體、WPF。

.NET Core的特點

.NET Core的主要特性包括開源、跨平臺、現代、靈活、輕量級、快速、友好、可共享,以及為未來的軟體開發而構建的。

.NET Core是免費和開源的

.NET Core平臺是免費的、開源的。.NET Core的原始碼託管在Github上。任何開發人員都可以參與到.NET Core的開發。有數千名參與.NET Core開發的活躍開發人員正在改進特性、新增新特性以及修復bug和問題。

.NET Core由一個名為.NET Foundation的獨立的非營利組織管理。60,000多名開發人員和3,700多家公司正在為.NET生態系統做出貢獻。

.NET Core是免費的,並且採用MIT和Apache協議作為開源協議。對商業十分友好。不像某Java

瞭解更多資訊並下載.NET CoreGitHub.

.NET Core是跨平臺的

.NET Core支援並執行在Windows、MacOS和Linux作業系統上。.NET Core跨體系結構(包括x64、x86和ARM)是一致的。可以匯入相同的程式集和庫,並在多個平臺上使用。這些程式集和庫都可以使用如下的.NET語言進行構建,如:C#、VB.NET或F#。

.NET Core是可共享的

.NET Core使用一種用.NET Standard編寫的一致API模型,這種模型對所有.NET應用程式都是通用的。相同的API或庫可以與多種語言的多個平臺一起使用。

.NET Core是現代的

與一些較舊的框架不同,.NET Core旨在解決當今的現代需求,包括移動友好、構建一次在任何地方執行、可伸縮和高效能。.NET Core旨在構建針對各種裝置的應用程式,包括物聯網和遊戲機。

.NET在C# 8的幫助下支援現代語言結構,如面向物件和模組化程式設計、泛型、集合、lambdas、語言整合查詢(LINQ)和非同步程式設計,這使開發人員更加高效。在這裡瞭解更多關於C#7和C#8特性的資訊,

  • C#7.1、7.2和7.3新特性
  • C#8特性

Visual Studio 2019和Visual Studio Code是世界上最先進和最現代的整合開發環境。這兩個IDES都支援當今的現代需求,並且專注於乾淨、速度和生產力。在這裡瞭解有關VisualStudio 2019功能的更多資訊:VisualStudio 2019新特性.

.NET Core是快速的

.NET Core 3.0 是快速的。與.NET Framework和.NET Core 2.2及以前的版本相比,.NET Core 3.0的速度很快。.NET Core比其他伺服器端框架(如Java Servlet和Node.js)快得多。

根據TechEmpowers釋出的一份報告,.NET Core比任何其他框架都要快得多。 TechEmpower基準測試通過對多個Web應用程式框架做如下比較:資料庫的單表查詢,多表查詢,檔案訪問,資料更新,明文和JSON序列化等任務進行比較。

.NET Core是輕量級的

.NET Core是輕量級的。.NET Core可以包含在您的應用程式中,也可以安裝在並行使用者、機器範圍內或伺服器上。.NET Core可以部署在Docker容器中。

  • 開始使用ASP.NETCore和Docker

.NET Core是友好的

.NET Core通過.NET Standard與.NET Framework,Xamarin和Mono相容。 .NET Core還支援使用各種流行的Web框架和庫,如React,Angular和JavaScript。 TypeScript是.NET Core和Visual Studio生態系統的關鍵元件之一。

我們可以使用.NET Core構建哪些型別的應用程式?

.NET Core是一個通用的軟體開發框架。它允許開發人員構建各種軟體,包括Web,桌面,移動,雲,遊戲,物聯網等。

.NET Core更適合跨平臺需求。.NET Core應用程式支援在Windows,Linux和macOS上執行。Linux和macOS上也都支援Microsoft流行的開原始碼編輯器Visual Studio Code。VS Code支援程式碼編輯器的現代需求,包括智慧提醒和除錯。大多數第三方編輯器(如Sublime,Emacs和VI)都支援.NET Core。

Web應用

ASP.NET Core是.NET Core生態系統的核心元件。ASP.NET Core是一個用於構建網頁的框架。ASP.NET Core基於MVC架構,並提供用於構建Web的通用庫。開始使用ASP.NET Core

Razor是一個使用C#和TypeScript構建動態網頁的新框架。Razor是一種改變遊戲規則的技術,它允許C#開發人員用C#構建Web應用程式。

移動開發

移動開發是.NET Core的關鍵產品。Xamarin是一套使用C#構建跨平臺移動應用程式的工具和庫。Xamarin允許開發人員在共享的.NET程式碼庫上為IOS、Android、Windows和MacOS構建本地應用程式。

桌面應用程式

.NET Core提供各種框架和工具來構建桌面應用程式。Windows窗體、WPF、UWP和Xamarin是構建桌面應用程式的四個主要框架。.NET Core還支援這些框架之間的互操作性。

Windows窗體是一種構建Windows桌面應用程式的技術。Windows窗體是.NET Framework的首批元件之一。

WPF(Windows Presentation Foundation)是一種較新的構建Windows桌面應用程式的技術。WPF是作為.NET Framework版本的一部分發布的

瞭解有關wpf的更多資訊這裡.

UWP是一種較新的技術,是在Windows 8之後釋出的。如今,UWP已經成熟。UWP使用XAML作為表示層(UI)和C#作為後端程式設計。但是,貌似微軟已經宣佈了他的死亡。

微服務和容器

微服務是一種新的設計模式,它允許開發人員構建軟體服務的小模組,這些模組可以使用定義良好的契約相互通訊。微服務使開發、測試和部署應用程式的獨立部分更加容易。一旦部署完畢,每個微服務都可以根據需要獨立地進行縮放。.NET Core支援微服務體系結構,它允許跨平臺服務與.NET Core一起工作,包括使用.NET Framework、Java、Ruby或其他開發的服務。

容器是今天的越野車。.NET Core的模組化、輕量級和靈活性使得將.NET Core應用程式部署到容器中變得更加容易。容器把一個應用程式的所有的配置檔案和依賴關係,包含在一個單獨的、小型的和獨立的軟體部署單元中。容器可以部署在任何平臺、雲、Linux和Windows上。.NET Core與Docker和Azure Kubernetes服務都很好地協作。

雲應用程式

雲應用程式現在越來越受歡迎。Azure支援各種雲應用程式。.NET Core和C#應用程式可以通過Visual Studio 2019部署在Azure上。

  • 在Azure中建立和部署ASP.NET Core Web應用程式

物聯網

物聯網應用正在增長。.NET Core支援通過UWP框架為執行Windows 10 IoT Core的物聯網裝置進行物聯網開發。UWP可用於構建在由Raspberry Pi,MinnowBoard MAX,DragonBoard 410c等提供支援的物聯網上執行的應用程式。

機器學習

機器學習是軟體開發人員日益增長的領域。

參考微軟官方文件

遊戲

Unity是最受歡迎的遊戲開發框架之一。C#和UWP用於構建移動,桌面,控制檯,電視,VR,AR和Web遊戲。

.NET Core 3.0中的新增的功能有哪些?

最新版本的.NET Core 3.0剛剛釋出。C#8和Windows桌面是這個版本的兩個主要新增部分。

C#8是C#語言的最新版本。C#8是.NET Core的一部分。C#8增加了新功能,包括

  • C#8功能

Windows桌面是.NET Core 3.0的新增功能,允許開發人員使用Windows窗體,WPF和UWP構建Windows桌面應用程式。

以下是.NET Core 3.0中的其他功能和增強功能列表,

  • Windows桌面的MSIX部署
  • MSIX是一種新的Windows應用程式包格式。它可用於將.NET Core 3.0桌面應用程式部署到Windows 10。
  • 快速內建JSON支援
  • IEEE浮點改進
  • .NET平臺依賴內在函式
  • 依賴於框架的可執行檔案支援
  • 構建副本依賴項
  • 裝配解除安裝
  • Windows Native Interop
  • Linux上的TLS 1.3和OpenSSL 1.1.1
  • 改進的密碼學
  • 適用於Linux的SerialPort
  • ARM64 Linux支援
  • GPIO支援Raspberry Pi
    參考
    https://docs.microsoft.com/en-us/dotnet/core/whats-new/dotnet-core-3-0

參考文獻

  • https://docs.microsoft.com/en-us/dotnet/core/
  • https://dotnet.microsoft.com/
  • https://www.c-sharpcorner.com/article/what-is-dot-net-core/