作者:依樂祝 原文地址:https://www.cnblogs.com/yilezhu/p/10880884.html 我們都知道.NET Core是一個可以用來構建現代、可伸縮和高性能的跨平臺軟體應用程式的通用開發框架。可用於為Windows、Linux和MacOS構建軟體應用程式。與其他軟體框架 ...
作者:依樂祝
原文地址: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特性的信息,
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容器中。
.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上。
物聯網
物聯網應用正在增長。.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增加了新功能,包括
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/