入門ASP.NET Core,你該怎么學(xué)?
時間:2023-05-28 10:21:02 | 來源:網(wǎng)站運(yùn)營
時間:2023-05-28 10:21:02 來源:網(wǎng)站運(yùn)營
入門ASP.NET Core,你該怎么學(xué)?:根據(jù)維基百科的解釋,編程語言(Programming Language)是用來定義計(jì)算機(jī)程序的形式語言,是一種被標(biāo)準(zhǔn)化的交流技巧,用來向計(jì)算機(jī)發(fā)出指令。計(jì)算機(jī)語言讓程序員能夠準(zhǔn)確地定義計(jì)算機(jī)所需要使用的數(shù)據(jù),并精確地定義在不同情況下應(yīng)當(dāng)采取的行動。
我們接觸到的C#、F#、VB、Java、C、C++、Python、Ruby和JavaScript等都是編程語言。而 .NET則是一個通用的開發(fā)平臺,它包含了.NET Framework、Mono和.NET Core等技術(shù)框架,旨在為開發(fā)者提供一個具有一致性的編程環(huán)境,讓代碼、部署、版本控制以及基于標(biāo)準(zhǔn)API進(jìn)行的開發(fā)工作都有統(tǒng)一的封裝和構(gòu)建方式,幫助開發(fā)者提升開發(fā)效率,為用戶帶來良好的體驗(yàn)。
NET Core的特點(diǎn)
.NET Core的核心是創(chuàng)新、開源和跨平臺,可以說.NET Core就是一個用更少的時間做更多有趣的事情的跨平臺開發(fā)框架。
.NET Core具有以下特點(diǎn)。
- 跨平臺。讀者可以創(chuàng)建一個.NET Core應(yīng)用程序,可分別在Windows、Linux和macOS上運(yùn)行。
- 統(tǒng)一性和兼容性。利用統(tǒng)一的.NET標(biāo)準(zhǔn)庫,使用相同的代碼兼容所有平臺,并使用相同的語言和工具復(fù)用讀者的技能,降低學(xué)習(xí)成本。
- 命令行工具。它包括可用于本地開發(fā)和持續(xù)集成方案中的易于使用的命令行工具。
- 現(xiàn)代化。多語言支持(C#、VB、F#)和現(xiàn)代化的設(shè)計(jì)結(jié)構(gòu),如泛型、語言集成查詢(LINQ)和異步支持等。
- 開源。.NET Core平臺是開源的,它的運(yùn)行庫、庫、編譯器、語言和工具的源代碼都在GitHub上開源,接受代碼貢獻(xiàn),并且使用寬泛的MIT和Apache 2開源許可證。
- .NET基金會官方支持。.NET Core由微軟的.NET基金會創(chuàng)立后交付給社區(qū)獨(dú)立運(yùn)營,由基金會提供對 .NET Core的支持。
.NET Core與其他平臺
.NET Core經(jīng)常被拿來與其他平臺做類比,尤其是它的源頭 .NET Framework以及另一個相似性質(zhì)的開源平臺Mono。
1 .NET Core與.NET Framework
據(jù)微軟的幫助文檔說明,.NET Core和 .NET Framework是子集 (Subset) 與超集 (Superset) 的關(guān)系,.NET Core將會實(shí)現(xiàn)部分的 .NET Framework功能 (基本上是不含用戶界面的部分),比如JIT(.NET Core采用RyuJIT)、垃圾收集器 (GC) 以及類型 (包含基本類型以及泛型類型等)。未來 .NET Framework和 .NET Core也會各自發(fā)展,但它們同時也使用彼此的功能,比如 .NET Compiler Platform與RyuJIT等技術(shù),最終會在2020年合并。
2 .NET Core與Mono
Mono是另一個歷史悠久的.NET跨平臺開源版本,基本上并不隸屬微軟官方,而是由社區(qū)的力量所主導(dǎo),自成一個生態(tài)系統(tǒng),也開發(fā)出了像Xamarin這樣的跨平臺.NET移動應(yīng)用。.NET Core與Mono未來會是合作的關(guān)系,Mono仍會維持由社區(qū)力量主導(dǎo)的維護(hù)與發(fā)展,而.NET Core則會以官方角度來發(fā)展,兩者也會一起進(jìn)行彼此功能上的補(bǔ)充。
3 .NET Core與ASP .NET Core
其實(shí)一開始.NET Core與ASP .NET Core并不是主從關(guān)系 ,在
http://ASP.NET Core的開發(fā)初期 (
http://ASP.NET Next),.NET Core還沒有“起跑”。
http://ASP.NET Core當(dāng)時有自己的運(yùn)行器與工具,被稱為
Project K,后來改為.NET運(yùn)行環(huán)境
(.NET Execution Environment, DNX)。DNX本身就具有可獨(dú)立運(yùn)行的能力,不需要依賴 .NET Core運(yùn)行,但是這樣會形成 .NET Core和
http://ASP.NET Core成為“雙頭馬車”的現(xiàn)象。在 .NET Core逐漸成熟之后,微軟也決定要將這兩個各自獨(dú)立發(fā)展的產(chǎn)品線集成在一起,因此DNX也改用 .NET Core運(yùn)行器而終止開發(fā),DNX的功能也由 .NET Core以及旗下的 .NET命令行界面(Command-Line Interface,CLI)接替提供,集成后的版本在1.0 RC2的時候就發(fā)布了。
ASP .NET的發(fā)展歷程
嚴(yán)謹(jǐn)來說,
http://ASP.NET本不應(yīng)該放在此處與以上3個框架平行,但是因?yàn)?span >http://
ASP.NET太出名了,因此我覺得有必要厘清它們的關(guān)系。
http://ASP.NET最初是.NET Framework框架中的一個組件,用于開發(fā)Web應(yīng)用程序,它是ASP技術(shù)的改進(jìn)版本。需要注意的是,ASP與
http://ASP.NET是完全不同的兩個產(chǎn)品。同理,VB和
http://VB.NET也是完全不同的兩個產(chǎn)品。ASP和VB都是20世紀(jì)的技術(shù),有些“古老”,在此不再贅述,但請務(wù)必注意區(qū)分它們。
早期的
http://ASP.NET提供一種叫作
WebForm的方式用于呈現(xiàn)網(wǎng)頁,它可以讓網(wǎng)頁開發(fā)變得像WinForm開發(fā)一樣簡單且可視化。但隨著Web技術(shù)的飛速發(fā)展,
WebForm由于其低效、封閉和難以定制的缺陷已經(jīng)逐漸淡出歷史舞臺。
隨著2009年 .NET Framework 3.5的發(fā)布,微軟提供了全新的
http://ASP.NET網(wǎng)頁呈現(xiàn)方式,稱為
http://ASP.NET MVC Framework。這套框架遵循MVC設(shè)計(jì)模式思想,將視圖和業(yè)務(wù)邏輯進(jìn)行了很好的分離,并且大幅提升了性能和可定制性。
經(jīng)過多年發(fā)展,目前已經(jīng)更新到了
http://ASP.NET MVC 6,完全采用.NET Core的項(xiàng)目結(jié)構(gòu),支持.NET Framework、.NET Core和Mono多種運(yùn)行時。在
http://ASP.NET MVC的未來演進(jìn)路上,
http://ASP.NET MVC 6將不再存在,而是被稱為
http://ASP.NET MVC Core 1.0。
圖2.1所示為MVC版本演進(jìn)的歷程。
圖2.1
放眼全球,目前 .NET平臺具有得天獨(dú)厚的優(yōu)越條件。它是市場上唯一能涵蓋人工智能、物聯(lián)網(wǎng)、桌面開發(fā)、網(wǎng)頁開發(fā)、云原生應(yīng)用、移動應(yīng)用和游戲開發(fā)等細(xì)分領(lǐng)域的開發(fā)框架。
而隨著
http://ASP.NET Core被越來越多的知名企業(yè)應(yīng)用在商業(yè)項(xiàng)目中,開發(fā)者社區(qū)也推出了大量基于
http://ASP.NET Core的周邊組件,不停地豐富著
http://ASP.NET Core的生態(tài)。
作為 .NET Framework的新一代版本,?.NET Core基于.NET Framework 4.x進(jìn)行了重新設(shè)計(jì),更改了體系結(jié)構(gòu),形成了更精簡的模塊化框架。隨著自身的不斷完善,?.NET Core新平臺已經(jīng)在軟件開發(fā)領(lǐng)域扮演越來越重要的角色。
隨著學(xué)習(xí)
http://ASP.NET Core的開發(fā)者越來越多,一部分開發(fā)者通過官方文檔即可入門。但也有很多開發(fā)者感覺學(xué)習(xí)時有些吃力,主要的原因就是市面上缺乏能夠用于系統(tǒng)學(xué)習(xí)
http://ASP.NET Core的資料。
推薦一本最適合入門ASP.NET Core的書:《深入淺出 ASP.NET Core》內(nèi)容簡介
本書是一本系統(tǒng)地介紹
http://ASP.NET Core、Entity Framework Core以及
http://ASP.NET Core Identity框架技術(shù)的入門圖書,旨在幫助讀者循序漸進(jìn)地了解和掌握
http://ASP.NET Core。本書使用
http://ASP.NET Core從零開始搭建一個實(shí)際的項(xiàng)目。從基本的控制臺應(yīng)用程序開始,介紹
http://ASP.NET Core基本的啟動流程,涵蓋
http://ASP.NET Core框架中各個技術(shù)的實(shí)際應(yīng)用。同時,本書也會介紹一些
http://ASP.NET Core的高級概念。在本書中,我們會開發(fā)一個學(xué)校管理系統(tǒng),其中包含清晰的操作步驟和大量的實(shí)際代碼,以幫助讀者學(xué)以致用,將
http://ASP.NET Core的知識運(yùn)用到實(shí)際的項(xiàng)目開發(fā)當(dāng)中,最后我們會將開發(fā)的項(xiàng)目部署到生產(chǎn)環(huán)境中。通過閱讀本書,讀者將掌握使用
http://ASP.NET Core開發(fā)Web應(yīng)用程序的方法,并能夠在對新項(xiàng)目進(jìn)行技術(shù)選型時做出戰(zhàn)略決策。
本書適合有一定C# 編程經(jīng)驗(yàn)和HTML、JavaScript基礎(chǔ),并對
http://ASP.NET Core感興趣的讀者閱讀,也可以作為高等院校相關(guān)專業(yè)的教學(xué)用書和培訓(xùn)學(xué)校的教材。
適用對象
本書適合有一定的C# 編程經(jīng)驗(yàn)和HTML、 JavaScript基礎(chǔ),并對
http://ASP.NET Core感興趣的開發(fā)者,包括以下對象。
- .NET工程師。
- 計(jì)算機(jī)相關(guān)專業(yè)的 .NET或網(wǎng)頁設(shè)計(jì)方向的在校大學(xué)生。
- 從其他面向?qū)ο笳Z言轉(zhuǎn)向?qū)W習(xí) .NET編程的開發(fā)者。
本書的結(jié)構(gòu)
本書分為以下5個部分。
- 第一部分(第1章~第9章)介紹http://ASP.NET Core的基礎(chǔ)知識,比如中間件、環(huán)境變量和配置信息等,簡單講解完整的http://ASP.NET Core的項(xiàng)目結(jié)構(gòu)。
- 第二部分(第10章~第20章)介紹并運(yùn)用MVC模型及路由中間件,結(jié)合http://ASP.NET Core提供的TagHelper等新特性,完成對學(xué)生信息的增刪改查、圖片上傳;介紹簡單的倉儲模式與依賴注入的關(guān)系,為搭建管理系統(tǒng)做好基礎(chǔ)準(zhǔn)備。
- 第三部分(第21章~第29章) 通過搭建一個基礎(chǔ)管理系統(tǒng),分析及處理實(shí)際業(yè)務(wù)場景中的常見問題,比如身份驗(yàn)證和授權(quán)、客戶端及服務(wù)端驗(yàn)證、配置信息、 EF Core數(shù)據(jù)訪問、數(shù)據(jù)分頁和統(tǒng)一異常處理等。
- 第四部分(第30章~第38章) 介紹架構(gòu)的作用以及意義,根據(jù)架構(gòu)的思想應(yīng)用設(shè)計(jì)模式,結(jié)合C#泛型特性優(yōu)化倉儲模式,建立多層體系架構(gòu),通過并發(fā)、 LINQ及活用Entity Framework Core中的常用功能完成一個類似領(lǐng)域驅(qū)動設(shè)計(jì)的項(xiàng)目。
- 第五部分(第39章~第42章)介紹簡單的Web API入門、部署http://ASP.NET Core項(xiàng)目以及從ASP .NET Core 2.2到http://ASP.NET Core 3.1的版本升級過程。