通俗易懂,什麼是.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/