標籤:

Asp.net 怎樣從入門到精通?

怎樣快速的上手用http://asp.net做項目


在2017年我接觸http://asp.net core之後,

我的學習路線大概為

c#基礎,c#三本-&>http://asp.net core-&>typescript-&>angular-&>rxjs-&>redux

http://asp.net現在已經升級成為了http://asp.net core,這段時間因為愛好開始做自己的幾個小站,分享下我學習c#的個人心得

語言基礎:

c sharp第一本:http://asp.net的主流開發語言是c#,要學習C#首先要看的書是《深入理解C#》作者是Jon Skeet,這本書會按C#的發展過程,帶你逐步深入理解C#語法,從一開始的泛型,委託等,到基於他們構建起來的linq,然後基於linq,構建起來的linq to sql,並行編程,到C#5的Task(Task),一步步下來,你會比國內很多人了解C#的語法,你會分辨出網上對C#的誤解與明白C#的強大。

c sharp第二本:然後繼續看《CLR VIA C#》,作者是Jeffrey Richter,翻譯是周靖,裡面很多東西可能會晦澀難懂,看完這本書你會知道,為什麼C#裡面的一些東西是怎麼設計的,知道該怎麼使用。

c sharp第三本:很多時候,你會感覺自己寫的代碼結構,命名的參數、變數非常噁心,總是感覺還差點什麼,這時可以看《.NET設計規範 : 約定、慣用法與模式》很多C#專家參與進來,分享給你微軟c#官方,使用C#時,遇到的種種坑, 使你的代碼結構有很大的提

http://asp.net知識:

http://asp.net core 2.0:ASP.NET Core 官方中文文檔,asp.net GitHub項目首頁ASP.NET, asp.net core的官方入門示例音樂商店項目aspnet/MusicStore (asp.net core最新的技術潮流用在這個簡單的示例上面),asp.net core的大型項目Nop商城項目 nopSolutions/nopCommerce (Nop已經推出了4.0 asp.net core 2.0版本,多研究代碼吧)

http://asp.net core: http://asp.net core 1.x 原名為http://asp.net mvc6,而且早於.net core誕生,後來.net core出來後,為了統一平台,於是http://asp.net mvc6更名為http://asp.net core,現在中文http://asp.net core學習資料還比較少,http://asp.net core2.x正式版都快出來了,中文http://asp.net core1.x的資料都不多。如果英語差,沒有mvc基礎,可以先研究mvc5然後配合英文資料學習http://asp.net core。

推薦直接學習http://asp.net core 2.0

http://asp.net core Razor:糅合了mvvm框架+mvc+webform精華。學習的話,當前可以看http://asp.net core官方文檔和官方音樂商店示常式序(上面已經給出了)。

http://asp.net mvc入門:精通 http://ASP.NET MVC 5,作者:Adam Freeman ,(精通 http://ASP.NET core 2.0 mvc英文版已經出來了)

深入asp.net:http://ASP.NET MVC 5 框架揭秘 作者:蔣金楠,大家可以關注下他的博客:Artech - 博客園 這個大牛博客裡面有部分講解asp.net core原理的資料

資料庫應用設計:

理解關係資料庫:明白關係資料庫的表的優化,建立表之間的高效索引

理解Entity Framework Core:EF Core如何建立表之間的關係,一對一,一對多,多對多關係,級聯,EF Core擴展,性能優化,數據遷移(一定要花點時間研究下,做好項目的向後兼容)。

另外還應該研究下國外http://asp.net開源框架,比如,我自己研究時看的,nopcomerce。http://asp.net core,EntityFramework,http://asp.net Identity,都是開源的,建議大家也研究下,幫助挺大的。

實戰:

寫一個博客系統,或者寫一個微型論壇,或者在線商店http://asp.net core web程序(支付介面那裡不用必須完成)

前端:

html,css基礎:找本基礎書。

-----------------------------------------------------------------------------------------------

TypeScript,angular,RxJS,Redux為新一代前端語言和框架。

typescript:由微軟主導,C#的首席架構師已經加入了typescript的開發,javascript的超集,已經將擴展部分提交給javaScript語言委員會。在javascript的基礎上,添加了泛型、面向對象的類、靜態類型,錯誤安全檢測。TypeScript可以編寫支持javaScript的代碼。減少了大型項目開發時,因為javascript的動態類型,難以開發維護大型項目的缺點。TypeScript 官網。可以在官網看一下教程和文檔。

angular:新一代的非同步框架,現代網站開發必備。angular的學習我看的ng-book:The Complete Guide to Angular 4 結合這本書看的RxJS in Action (豆瓣) 和自述 | Redux 中文文檔順便入門了RxJs和Redux。Angular 中文文檔

RxJS(Reactivex Js):微軟發明的基於事件的函數式編程框架,基於流的概念,Angular中的倚天劍。RxJS 中文文檔

Redux:由Dan Abramov在2015年創建。是受2014年Facebook的Flux架構以及函數式編程語言Elm啟發,Angular中的屠龍刀。在angular中Rxjs可以很容易實現Redux。Redux 中文文檔

Webpack:webpack 中文文檔

------------------------------------------------------------------------------------------------

javaScript:我看的犀牛書(JavaScript權威指南,作者:David Flanagan )入門的,你可以看本薄一點的。

jquery基礎:鋒利的jquery,作者:單東林 / 張曉菲 / 魏然

ajax:前端非同步腳本

前端框架:深入理解Bootstrap,作者:徐濤

bootstrap:文檔我看的Bootstrap 中文文檔 · Bootstrap 是世界上最流行的、移動設備優先的、響應式前端開發框架。

http://asp.net core web api:可以配合fiddler邊學邊驗證,可以配合前端非同步腳本開發優秀的網站程序,以及開發移動端app

其它補充:

ASP.NET Core 性能對比評測(ASP.NET,Python,Java,NodeJS)用.net core 寫後端-- c++外的另一種選擇?ASP.NET Core 性能提升23倍是怎麼回事?

http://asp.net core發行之後,我看過

Entity Framework Core 1.0 Cookbook - Second Edition

Mastering TypeScript - Second Edition

Angular 2 Cookbook - Second Edition

http://asp.net core官方文檔

另外,我看完這些後,感覺自己離精通差很遠的距離,只能說是剛學會走路吧,

題主我自己也是個業餘學編程7年的菜鳥,2014年發表的這個回復,2016年業餘時間開始為了去做一個自己夢想中的網站系統,花時間深入研究C#語法,http://asp.net,發現了自己之前的很多不足。到2017年5月,大概學了這些

舊版回復2016年以前:

不知道上面回復,以及網上其它地方存在的http://asp.net,如何入門這問題的回答,都為什麼沒有回答到重點!!!!!!!!!!!!!!!!!!!

http://asp.net開發從0到入門的過程大概為

1、學會使用工具(比如FrontPage或DreamWeaver),能做出一個像樣的頁面

這一步要學習html,css語言,然後學習工具,如果再學習了學習JavaScript更好

2、學習資料庫與T-SQL

3、開發語言

本來想要詳細回答的,搜索了下,發現對岸的一個同胞大大回答的很好,所以直接複製過來了,希望更多跟我一樣學習http://asp.net的新人看到少走彎路,希望知乎手下留情,

--------------------------------------------------------------------------------------------------------------------------------------

想要作網頁程式(Web Application),原因有很多。

當然,它這幾年很熱門,我們日常使用的系統,絕大部分都變成Web系統了。

例如:E-Mail(我都用Gmail,不用Outlook下載了)、BBS(改用網站論壇)、看新聞與網路拍賣等等。

要學習網頁程式,首先,HTML傳統的靜態網頁,要稍微會一點。

就算不會背誦HTML碼,至少也要會用FrontPage或DreamWeaver來設計一個網頁。

Q: 您可以設計一個自我介紹的網頁嗎?

上面要有三種字體變化(大小、粗體)、有超連結、有一個表格(&

完成後,您就過關了。

透過上述的網頁編輯器,用久了,就會自然而然地熟悉一些HTML語法。

關於CSS或是JavaScript,會的話更好。

因為這部份的基礎,是所有HTML網頁的根源。要進入網頁程式設計,任何人都要學~

========================================================

接下來,是資料庫與T-SQL指令。

不管您採用哪一種資料庫,MS SQL / Access / Oracle / MySQL等等。

最基本的T-SQL指令都差不多。

Q: 您會使用 Insert into / Delete / Update這些指令來修改資料嗎?

您會用 Select指令,簡單的撈取(搜尋)、排序資料嗎?

完成後,您就過關了。......當然,資料庫與T-SQL指令,這門學問博大精深,該學的還多著呢。

========================================================

最後,就是選擇程式語法。

1. ASP / PHP / JSP,在「最基本」的語法和用法上,都很類似。

我把自己ASP的幾支程式,改成PHP與JSP版,都用不了兩天就OK了。

2. 而http://ASP.NET是一個大革命!它是徹頭徹尾的大改造與大革新!

以我的觀點來看,http://ASP.NET比較類似是「把傳統VB 6.0的"視窗"程式設計師,拉拔到Internet Web世界」的。

比較不像是「ASP」的衍生或後續版本。

因此,傳統VB的程式設計師,來接觸ASP.NET......真的比傳統ASP的設計師「升級」更簡單。

而,傳統ASP的設計師,要升級http://ASP.NET。

我的天啊!簡直要自廢八成武功,砍掉重練(至少我當年升級的路程,滿痛苦的。對ASP越熟悉,好像挫折越大)

革命是如此劇烈,所以http://ASP.NET的Web控制項(Web Controls),跟傳統HTML的表單(&)元件,

有些脫節,無法保證100%相容或對應。

但也因為「不保證100%相容、相似、對應」,在毫無羈絆的情況下,

Web控制項變化無窮,功能也強得不得了,簡直讓我大開眼界~

http://ADO.NET的觀念,也變化不小。

現在的LINQ、DataSet的操作(ObjectDataSource),都不是當年我在http://ASP.NET 1.x所想到的,更別提是傳統ASP的設計師要來升級了

您也可以看看董大偉老師的文章---關於如何選擇VB和C#

現在,在 .NET寫程式,不可能脫離 Visual Studio這套開發工具了。

Visual Studio是http://ASP.NET開發的優良工具!

補充:

kennyshu網友的建議, 有不少人在使用的並不是微軟的Visual Studio,而是這套開放原始碼工具:SharpDevelop,

網址: SharpDevelop @ic#code

========================================================

有了上面三種能力,一個稍具生產力的Web程式設計師,勉強出爐了。

========================================================

寫程式,就屬「入門」最辛苦。

好比一台蒸汽火車頭,從靜止狀態要把它推動,一定最費工!

一旦熬得過去,以社會新鮮人來說,在社會上滿好找工作的,起薪也稍微高一點。

因為,「入門」的門檻高,當然也保護了我們的工作與薪資。

但初學程式的新鮮人(或是有意轉行變成程式設計師的新鮮人),也別忘了。

資管系,是全國最大的科系。數量最多,這幾年的大學畢業生也最多。

但為何人數這麼多?外面的公司還是大缺軟體人才?

這也表示「大部分資管畢業生,在學校內學到的技巧、寫程式的能力不好。」

或是「沒有信心,沒有膽量繼續走這一行。」(我覺得:對寫程式沒信心,是最大的因素!)

當然,大學院校不是職業訓練班、更不是技能訓練所。

大學,是理論與學術的殿堂(或是象牙塔),本來就很難學到 Skill(尤其是黑手之類的技巧,包含寫程式的一些眉眉角角)。

回想當年,班上那些IT技術很強的高手,也都是靠自學、苦學而成。鮮少是在學校的標準課程培養出來的。

No Pain, No Gain.....一切就看自己的抉擇了。

只是我個人的觀點而已,僅供參考~

------------------------------------------------------------------------------------------------------------------

相關文章,請參考:

學習http://ASP.NET的捷徑 資料來源:藍色小舖 作者 : 絕望御茶園

Allen Kuo寫的 為什麼別人會的程式, 我卻不會 ?

Allen Kuo的電子書,也很適合初學者在寫程式之前,好好思考一下。

如果新手直接學 http://ASP.NET 會遇到什麼困難? 作者:Allen Kuo

[廣告] 新書上市-- http://ASP.NET專題實務(文魁出版)

http://forums.microsoft.com/MSDN-CHT/ShowPost.aspx?PostID=3917818amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;SiteID=14 Johnny.net網友,回答得很有道理


你可以去如鵬網學學楊中科老師的視頻!這樣我覺得還是能比較快的提高你的http://asp.net的水平的!

應你的要求,我今天就詳細講講我的學習經驗吧,不過可能我的不是最終的捷徑。

首先,你照著楊老師給的視頻的路線走,堅持吧視頻看完,當然看的同時必須要敲代碼,就算你照著視頻一字不漏的敲下來也好,這樣絕對比你光看視頻不敲代碼好很多!

看完後,你可以試著做一個新聞系統之類的項目實戰下,然後最開始可以都用伺服器控制項,包括ajax。做完後,你慢慢的嘗試著放棄伺服器控制項,ajax就用楊老師將的jquery來做,這些都做完後,別人會發現你真的不同了,但是你自己會發現你不知道的東西越來越多!呵呵,是不是迷茫了?這是必然的,因為你學的多了,知道的自然就會變多,當然不知道的也從知道的裡頭變的多起來!可能有點繞,慢慢體會吧!

然後,你可以開始看一些web的架構,三層經典架構,工廠模式,等等。

然後再可以看看silverlight和wcf!

同時,你也可以看看數據結構的東西,比較好的公司去筆試和面試的時候都會考數據結構的!

這就是我大概的學習過程吧!希望可以切磋切磋!


ASP.NET從入門到精通.pdf_免費高速下載 csdn上有配套資料下載。

msdn webcast 也很多講解教程


其實,不僅僅是http://ASP.NET,一切技術的初學者都會有類似的困惑。這幾篇文章希望對學習者有幫助:

1. 如何做選擇? - 瓜園耕讀 - 知乎專欄

2. 如果不知道怎麼走,就走下去 - 瓜園耕讀 - 知乎專欄

3. 守住心中的一畝田 - 瓜園耕讀 - 知乎專欄

4. 更好地編程 - 瓜園耕讀 - 知乎專欄


多看多寫,不要和別人比看書的數量,而要自己感覺看完書的收穫。好書可以讀十遍。


主要是先好好看看.NET方面的書,先看看原理,然後自己好好在VS裡面寫些代碼,這樣理論和實踐結合學習的比較的快!


我現在也有跟你一樣的困惑


除了孫亮說的。 在學習和實踐的過程中,可以找一些經典的http://asp.net開源項目,閱讀它的代碼,發現並理解一些之前不了解的東西也很重要。


多到pttp://http://www.51aspx.com這類網站上下載一些優秀的代碼來進行研究和學習,這樣會很快的


我也剛剛接觸http://asp.net,我的思路主要先學習C# 然後學習web開發 在學習框架 主要是跟著視頻練習!是否精通那要看能不能在工作中作出系統!


用NopCommerce搭建一個電子商務平台。


嗯嗯 主要就是敲代碼不過一天5k也太多了點


花一個周末看視頻寫個網站

再花一周搞懂pipeline

但是 最後 你會發現 外面是js的世界


看黑馬程序員視頻,本人覺得最好的。


很簡單,做一個實實在在的有用的項目出來,這個過程中遇到什麼難點,再來解決這個難點,逐漸的就融會貫通了


code


可以上網易學院,芯友網,矽谷動力看http://Asp.net和C#的視頻,再自己動手寫小實例,比如企業網站等。Asp.net視頻教程


推薦閱讀:

怎麼知道一個網站是由 ASP 、PHP 或者 .NET 開發的?
Asp.Net Web Form開發模型是否正在走向末路?
做網站,是要更注重用戶體驗,還是要設法迎合SEO優化呢?為什麼?

TAG:ASPNET |