NET Core是什么

很多朋友看到.NET Core就認(rèn)為是ASP.NET Core,其實(shí)這是有誤區(qū)的,因?yàn)?NET Core 是開(kāi)放源代碼的通用開(kāi)發(fā)平臺(tái) (是一個(gè)“平臺(tái)”),基于這個(gè)開(kāi)放平臺(tái)我們可以開(kāi)發(fā)像ASP.NET Core應(yīng)用程序, Windows 10 通用 Windows 平臺(tái) (UWP),Tizen等等,而我們系列教程就是用.NET Core開(kāi)發(fā)ASP.NET Core應(yīng)用程序。而且由 Microsoft官方團(tuán)隊(duì) 和 .NET社區(qū)成員共同在 GitHub 上進(jìn)行維護(hù)。 它跨平臺(tái)(支持 Windows、macOS 和 Linux),并且可用于生成設(shè)備、云和 IoT 應(yīng)用程序。

.NET Core 還具有以下特性:

跨平臺(tái): 可以在 Windows、macOS 和 Linux 操作系統(tǒng)上運(yùn)行。

跨體系結(jié)構(gòu)保持一致: 在多個(gè)體系結(jié)構(gòu)(包括 x64、x86 和 ARM)上以相同的行為運(yùn)行代碼。

命令行工具: 包括用于本地開(kāi)發(fā)和持續(xù)集成方案中的易于使用的命令行工具。

部署靈活: 可以包含在應(yīng)用或已安裝的并行用戶或計(jì)算機(jī)范圍中。 可搭配 Docker 容器使用。

兼容性:.NET Core 通過(guò) .NET Standard與 .NET Framework、Xamarin 和 Mono 兼容。

開(kāi)放源:.NET Core 是一個(gè)開(kāi)放源平臺(tái),使用 MIT 和 Apache 2 許可證。 .NET Core 是一個(gè) .NET Foundation 項(xiàng)目。

由 Microsoft 支持:.NET Core背后依托強(qiáng)大的Microsoft團(tuán)隊(duì) 進(jìn)行維護(hù)。

什么是ASP.NET Core

ASP.NET Core 是一個(gè)由微軟創(chuàng)建的,用于構(gòu)建 web 應(yīng)用、API、微服務(wù) 的 web 框架。它使用常見(jiàn)的模式,諸如 MVC(Model-View-Controller)、依賴注入,和一個(gè)由中間件構(gòu)成的請(qǐng)求處理管道。它基于 Apache 2.0 許可證開(kāi)放源碼,就是說(shuō),源代碼可以自由獲取,并且歡迎社區(qū)成員以 缺陷修復(fù) 和 新功能提交 的方式進(jìn)行貢獻(xiàn)。

ASP.NET Core 運(yùn)行在微軟的 .NET 運(yùn)行時(shí)庫(kù)上,類似于 Java 的 虛擬機(jī)(JVM)或者 Ruby 的解釋器。有幾種語(yǔ)言(C#,Visual Basic,F(xiàn)#)可以用來(lái)編寫(xiě) ASP.NET Core 程序。C# 是最常見(jiàn)的選擇,當(dāng)然我大多數(shù)人都是采用C#來(lái)進(jìn)行開(kāi)發(fā)的。你可以在 Windows、Mac,和 Linux 上構(gòu)建并運(yùn)行 ASP.NET Core 應(yīng)用。

為什么要用ASP.NET Core開(kāi)發(fā)應(yīng)用程序

現(xiàn)存的 web 框架選項(xiàng)已經(jīng)很多了:Node/Express、Spring、Ruby on Rails、Django、Laravel 等等,數(shù)不勝數(shù)。ASP.NET Core 又有什么可取之處呢?為什么要用ASP.NET Core開(kāi)發(fā)應(yīng)用程序呢?

速度 ASP.NET Core 很快。因?yàn)?.NET Core 是編譯運(yùn)行的,執(zhí)行速度遠(yuǎn)高于解釋執(zhí)行的語(yǔ)言,比如 JavaScript 或者 Ruby、ASP.NET Core 也已經(jīng)為多線程和異步任務(wù)作了專門(mén)的優(yōu)化。與使用 Node.js 寫(xiě)的代碼相比,執(zhí)行速度高出 5-10 倍是很正常的。

生態(tài) ASP.NET Core 可能初出茅廬,但 .NET 卻已久經(jīng)考驗(yàn)。在 NuGet(.NET 的包管理系統(tǒng),類似 npm、Ruby gems,或者 Maven)上有成千上萬(wàn)的軟件包。有現(xiàn)成的包可用來(lái)完成 JSON 反序列化、數(shù)據(jù)庫(kù)連接、PDF生成,或者幾乎你能想到的任何需求。

安全性 微軟的開(kāi)團(tuán)隊(duì)很注重安全性,ASP.NET Core 從創(chuàng)建基礎(chǔ)就是安全的。它已經(jīng)自動(dòng)處理了 凈化輸入數(shù)據(jù) 和 跨域偽造請(qǐng)求(CSRF),你就不用操心這些了。你同時(shí)還享有 .NET 編譯器的靜態(tài)類型檢測(cè)的優(yōu)勢(shì),它像個(gè)時(shí)刻警惕著,還有些強(qiáng)迫癥的審校者。這樣,在使用一個(gè)變量或者某些數(shù)據(jù)時(shí),那些無(wú)意識(shí)的錯(cuò)誤就插翅難逃。

跨平臺(tái) 可以運(yùn)行在安裝了 .NET 運(yùn)行時(shí)庫(kù)的 Windows、Mac或者Linux上。

開(kāi)源 .NET Core 屬于開(kāi)放源(MIT 許可證),由 Microsoft 于 2014 年提供給 .NET Foundation。 現(xiàn)在它是最活躍的 .NET Foundation 項(xiàng)目之一。 可由個(gè)人和企業(yè)自由采用,包括用于個(gè)人、學(xué)術(shù)或商業(yè)目的。 同時(shí)開(kāi)源也就意味著在你出現(xiàn)問(wèn)題的時(shí)候你可以閱讀其源代碼來(lái)獲取解決問(wèn)題的方法,再者你也可以在Github上提Issue

數(shù)百萬(wàn)開(kāi)發(fā)人員使用過(guò)(并將繼續(xù)使用)ASP.NET 4.x創(chuàng)建 Web 應(yīng)用。 ASP.NET Core 是重新設(shè)計(jì)的 ASP.NET 4.x,更改了體系結(jié)構(gòu),形成了更精簡(jiǎn)的模塊化框架。

ASP.NET Core 同時(shí)具有如下優(yōu)點(diǎn):

生成 Web UI 和 Web API 的統(tǒng)一場(chǎng)景。

針對(duì)可測(cè)試性進(jìn)行構(gòu)建。

Razor Pages可以使基于頁(yè)面的編碼方式更簡(jiǎn)單高效。

能夠在 Windows、macOS 和 Linux 上進(jìn)行開(kāi)發(fā)和運(yùn)行。

開(kāi)放源代碼和以社區(qū)為中心。

集成新式客戶端框架和開(kāi)發(fā)工作流。

基于環(huán)境的云就緒配置系統(tǒng)。

內(nèi)置依賴項(xiàng)注入。

輕型的高性能模塊化 HTTP 請(qǐng)求管道。

能夠在 IIS、Nginx、Apache、Docker上進(jìn)行托管或在自己的進(jìn)程中進(jìn)行自托管。

基于 .NET Core運(yùn)行時(shí),可以使用并行應(yīng)用版本控制。

郵箱
huangbenjincv@163.com

乌审旗| 南康市| 定结县| 泰来县| 华坪县| 宾阳县| 宜春市| 墨脱县| 曲阳县| 连城县| 恩平市| 若尔盖县| 松阳县| 县级市| 榆林市| 清水河县| 华安县| 广州市| 德钦县| 连南| 江达县| 彭州市| 镇雄县| 琼结县| 贵阳市| 大悟县| 浠水县| 漳州市| 高碑店市| 金沙县| 化州市| 淮安市| 永新县| 抚宁县| 体育| 安塞县| 富源县| 新兴县| 洛宁县| 抚远县| 民和|