做者:依樂祝
原文地址:http://www.javashuo.com/article/p-hcvkydbk-ge.htmlhtml
咱們都知道.NET Core是一個能夠用來構建現代、可伸縮和高性能的跨平臺軟件應用程序的通用開發框架。可用於爲Windows、Linux和MacOS構建軟件應用程序。與其餘軟件框架不一樣,.NET Core是最通用的框架,可用於構建各類軟件,包括Web應用程序、移動應用程序、桌面應用程序、雲服務、微服務、API、遊戲和物聯網應用程序。與其餘框架不一樣,.NET Core並不侷限於單一的編程語言,它支持C#、VB.NET、F#、XAML和TypeScript。這些編程語言都是開源的,由獨立的社區管理。git
.NET Core提供了最早進、最成熟和最普遍的類庫、公共API、多語言支持和工具。藉助於Visual Studio 2019和Visual Studio Code 這些最早進和最現代的開發工具,使得.NET Core成爲開發人員最高效的平臺之一。github
注: 微軟最近宣佈了.NET 5,這是.NET Core的將來。未來,.NET Core將更名爲.NET,下一個版本的.NET Core將是.NET 5.0。web
.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個預覽版。docker
下表總結了.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的源代碼託管在Github上。任何開發人員均可以參與到.NET Core的開發。有數千名參與.NET Core開發的活躍開發人員正在改進特性、添加新特性以及修復bug和問題。windows
.NET Core由一個名爲.NET Foundation的獨立的非營利組織管理。60,000多名開發人員和3,700多家公司正在爲.NET生態系統作出貢獻。後端
.NET Core是免費的,而且採用MIT和Apache協議做爲開源協議。對商業十分友好。不像某Java設計模式
瞭解更多信息並下載.NET CoreGitHub.
.NET Core支持並運行在Windows、MacOS和Linux操做系統上。.NET Core跨體系結構(包括x6四、x86和ARM)是一致的。能夠導入相同的程序集和庫,並在多個平臺上使用。這些程序集和庫均可以使用以下的.NET語言進行構建,如:C#、VB.NET或F#。
.NET Core使用一種用.NET Standard編寫的一致API模型,這種模型對全部.NET應用程序都是通用的。相同的API或庫能夠與多種語言的多個平臺一塊兒使用。
與一些較舊的框架不一樣,.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 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能夠部署在Docker容器中。
.NET Core經過.NET Standard與.NET Framework,Xamarin和Mono兼容。 .NET Core還支持使用各類流行的Web框架和庫,如React,Angular和JavaScript。 TypeScript是.NET Core和Visual Studio生態系統的關鍵組件之一。
.NET Core是一個通用的軟件開發框架。它容許開發人員構建各類軟件,包括Web,桌面,移動,雲,遊戲,物聯網等。
.NET Core更適合跨平臺需求。.NET Core應用程序支持在Windows,Linux和macOS上運行。Linux和macOS上也都支持Microsoft流行的開源代碼編輯器Visual Studio Code。VS Code支持代碼編輯器的現代需求,包括智能提醒和調試。大多數第三方編輯器(如Sublime,Emacs和VI)都支持.NET Core。
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剛剛發佈。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中的其餘功能和加強功能列表,