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

来源:https://www.cnblogs.com/yilezhu/archive/2019/05/17/10880884.html
-Advertisement-
Play Games

作者:依樂祝 原文地址: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)快得多。

What Is .NET Core

根據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,桌面,移動,雲,游戲,物聯網等。

What Is .NET Core

.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

參考文獻


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 目錄操作 mkdir 創建目錄 opendir 打開目錄 readdir 讀取打開目錄中的一個文件 scandir 列出指定路徑下的文件和目錄 closedir 關閉目錄 is_dir 判斷是否為目錄 rmdir 刪除非空目錄 讀取目錄中有兩個特殊的文件 . 和 .. 分別代表當前目錄和上一級目錄 ...
  • 在Sqlserver資料庫的字元串操作中,截取字元串是最常見的操作,sql server提供了3個常用截取字元串方法,LEFT()、RIGHT()、SUBSTRING(),如果從第一個字元即最左邊位置開始截取規定長度,則可用Left函數,如果從最後的字元往前截取固定長度則可使用Right函數,SUB ...
  • 在C#程式開發過程中,很多時候可能需要將字元串根據特定的分割字元分割成字元或者List集合,例如根據逗號將字元串分割為數組,或者根據豎線將字元串分割成數組,C#中提供了Split()函數來快速將字元串分割成數組形式,如果需要轉換為List集合,可在分割完成後使用數組的ToList()方法即可轉換為L ...
  • 在ASP.NET開發過程中,安全性是必須要重中之重需要考慮的,其中一種情況是要防止用戶輸入惡意腳本入侵的情況,惡意腳本入侵指的是用戶在提交內容中提交了包含特殊Javascript腳本程式等非法信息,如包含<script></script>等信息。這些腳本信息如果沒有做相應的處理,伺服器將這些內容信息 ...
  • 在C#的編程開發過程中,很多時候涉及到數據類型的轉換,可使用強制轉換的方式,不過強制轉換數據類型有時候會拋出程式異常錯誤,可以使用as關鍵字來進行類型的轉換,如果轉換成功將返迴轉換後的對象,如果轉換不成功則不會拋出異常而是返回NULL。 如將A類型的對象modelA轉換為B類型的對象,可使用下列語句 ...
  • 為了方便查詢系統出錯弄個錯誤日誌出來對於維護運維來說是很有必要的。 1、在Asp.Net MVC項目中的App_Start添加一個用於處理異常類的文件ErrorLog讓他繼承HandleErrorAttribute類並重寫OnException方法 在視圖裡面的shared文件夾下麵加一個Error ...
  • 再winform中使用ProcessCmdKey處理快捷鍵響應,針對單一快捷鍵響應沒有任何問題。但是針對組合鍵總是無法響應,如下: protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, Keys key ...
  • fireasy 面世都有六個年頭了,至今依舊是默默無聞,知道它的人可能僅限於本人朋友圈內的人士。本人也在寫一本關於如何使用該框架的書籍,但苦於事務繁忙,至今也才寫了一半,可以說最為實用最為核心的部分,仍然還沒有寫出來。思來想去,還是通過博文這種方式,通過一個實例的講解,讓朋友們對 fireasy 有 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...