通俗易懂,什么是.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/
總結
以上是生活随笔為你收集整理的通俗易懂,什么是.NET Core以及.NET Core能做什么的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一次 .NET Core 中玩锁的经历:
- 下一篇: asp.net ajax控件工具集 Au