NET Core是什么
很多朋友看到.NET Core就認為是ASP.NET Core,其實這是有誤區(qū)的,因為.NET Core 是開放源代碼的通用開發(fā)平臺 (是一個“平臺”),基于這個開放平臺我們可以開發(fā)像ASP.NET Core應用程序, Windows 10 通用 Windows 平臺 (UWP),Tizen等等,而我們系列教程就是用.NET Core開發(fā)ASP.NET Core應用程序。而且由 Microsoft官方團隊 和 .NET社區(qū)成員共同在 GitHub 上進行維護。 它跨平臺(支持 Windows、macOS 和 Linux),并且可用于生成設備、云和 IoT 應用程序。
.NET Core 還具有以下特性:
跨平臺: 可以在 Windows、macOS 和 Linux 操作系統(tǒng)上運行。
跨體系結構保持一致: 在多個體系結構(包括 x64、x86 和 ARM)上以相同的行為運行代碼。
命令行工具: 包括用于本地開發(fā)和持續(xù)集成方案中的易于使用的命令行工具。
部署靈活: 可以包含在應用或已安裝的并行用戶或計算機范圍中。 可搭配 Docker 容器使用。
兼容性:.NET Core 通過 .NET Standard與 .NET Framework、Xamarin 和 Mono 兼容。
開放源:.NET Core 是一個開放源平臺,使用 MIT 和 Apache 2 許可證。 .NET Core 是一個 .NET Foundation 項目。
由 Microsoft 支持:.NET Core背后依托強大的Microsoft團隊 進行維護。
什么是ASP.NET Core
ASP.NET Core 是一個由微軟創(chuàng)建的,用于構建 web 應用、API、微服務 的 web 框架。它使用常見的模式,諸如 MVC(Model-View-Controller)、依賴注入,和一個由中間件構成的請求處理管道。它基于 Apache 2.0 許可證開放源碼,就是說,源代碼可以自由獲取,并且歡迎社區(qū)成員以 缺陷修復 和 新功能提交 的方式進行貢獻。
ASP.NET Core 運行在微軟的 .NET 運行時庫上,類似于 Java 的 虛擬機(JVM)或者 Ruby 的解釋器。有幾種語言(C#,Visual Basic,F(xiàn)#)可以用來編寫 ASP.NET Core 程序。C# 是最常見的選擇,當然我大多數人都是采用C#來進行開發(fā)的。你可以在 Windows、Mac,和 Linux 上構建并運行 ASP.NET Core 應用。
為什么要用ASP.NET Core開發(fā)應用程序
現(xiàn)存的 web 框架選項已經很多了:Node/Express、Spring、Ruby on Rails、Django、Laravel 等等,數不勝數。ASP.NET Core 又有什么可取之處呢?為什么要用ASP.NET Core開發(fā)應用程序呢?
速度 ASP.NET Core 很快。因為 .NET Core 是編譯運行的,執(zhí)行速度遠高于解釋執(zhí)行的語言,比如 JavaScript 或者 Ruby、ASP.NET Core 也已經為多線程和異步任務作了專門的優(yōu)化。與使用 Node.js 寫的代碼相比,執(zhí)行速度高出 5-10 倍是很正常的。
生態(tài) ASP.NET Core 可能初出茅廬,但 .NET 卻已久經考驗。在 NuGet(.NET 的包管理系統(tǒng),類似 npm、Ruby gems,或者 Maven)上有成千上萬的軟件包。有現(xiàn)成的包可用來完成 JSON 反序列化、數據庫連接、PDF生成,或者幾乎你能想到的任何需求。
安全性 微軟的開團隊很注重安全性,ASP.NET Core 從創(chuàng)建基礎就是安全的。它已經自動處理了 凈化輸入數據 和 跨域偽造請求(CSRF),你就不用操心這些了。你同時還享有 .NET 編譯器的靜態(tài)類型檢測的優(yōu)勢,它像個時刻警惕著,還有些強迫癥的審校者。這樣,在使用一個變量或者某些數據時,那些無意識的錯誤就插翅難逃。
跨平臺 可以運行在安裝了 .NET 運行時庫的 Windows、Mac或者Linux上。
開源 .NET Core 屬于開放源(MIT 許可證),由 Microsoft 于 2014 年提供給 .NET Foundation。 現(xiàn)在它是最活躍的 .NET Foundation 項目之一。 可由個人和企業(yè)自由采用,包括用于個人、學術或商業(yè)目的。 同時開源也就意味著在你出現(xiàn)問題的時候你可以閱讀其源代碼來獲取解決問題的方法,再者你也可以在Github上提Issue
數百萬開發(fā)人員使用過(并將繼續(xù)使用)ASP.NET 4.x創(chuàng)建 Web 應用。 ASP.NET Core 是重新設計的 ASP.NET 4.x,更改了體系結構,形成了更精簡的模塊化框架。
ASP.NET Core 同時具有如下優(yōu)點:
生成 Web UI 和 Web API 的統(tǒng)一場景。
針對可測試性進行構建。
Razor Pages可以使基于頁面的編碼方式更簡單高效。
能夠在 Windows、macOS 和 Linux 上進行開發(fā)和運行。
開放源代碼和以社區(qū)為中心。
集成新式客戶端框架和開發(fā)工作流。
基于環(huán)境的云就緒配置系統(tǒng)。
內置依賴項注入。
輕型的高性能模塊化 HTTP 請求管道。
能夠在 IIS、Nginx、Apache、Docker上進行托管或在自己的進程中進行自托管。
基于 .NET Core運行時,可以使用并行應用版本控制。