2011-10-05 100 views
6

我想問有經驗的ASP.NET開發人員如何爬上ASP.NET的學習曲線。ASP.NET學習路徑

我是一名經驗豐富的C++和C#開發人員,沒有Web應用程序的經驗。

我發現ASP.NET MVC和ASP.NET是兩種不同的技術。我只想問一下:

  1. 不管這兩種技術是共存還是MVC都會替換爲 ASP.NET?
  2. 如果我想學習ASP.NET MVC。我需要學習ASP.NET作爲先決條件嗎?
  3. 你能推薦一些學習資源嗎?書?視頻?沒有支付微軟培訓:(

非常感謝

+0

1st,學習HTML,CSS和Javascript(以及很可能必須使用的jQuery可能) –

+0

@Steve B ...我和這個人3年前一樣處於同樣的狀況......只是想確認一下我從ASP.NET MVC開始......我必須學習有關HTML,CSS和Java Script的「一切」嗎? –

+1

@ Sana.91:你不需要知道所有東西,但ASP.Net的最終目的是生成html。所以你將不得不瞭解ASP.Net是如何工作的,它產生了什麼樣的HTML和/或JavaScript。你需要學習的內容最終取決於你的需求,用戶界面,外觀和動態行爲 –

回答

8

所有ASP.NET首先是請求/響應管道。這意味着你被賦予訪問請求和響應流以及一些規定,例如會話,緩存,安全等

最重要的是有3個框架負責生成HTML,第一個也是最早的被稱爲ASP.NET Web Forms,因爲它是唯一的有時被稱爲ASP.NET,但在當前狀態下這是不正確的,ASP.NET MVC是第二個,並且有第三個被稱爲ASP.NET Web頁面。所有這三個共享相同的核心ASP.NET請求/響應管道和會話,緩存的API ......不同之處在於它們如何生成HTML。

你可以查看我對這個問題的回答以獲取更多信息。 Asp.Net Web Forms and Asp.Net Web Pages

並回答您的具體問題 - 沒有Web窗體不會消失。許多人使用它,MS正在發佈新版本。

對於具有桌面背景的人來說,Web窗體很不錯,因爲它使用桌面開發人員熟悉的控制模型,並且還具有模擬狀態的功能。它也需要較少的HTML,JS,CSS知識。 ASP.NET MVC恰恰相反。它給你很多控制權,但需要很多關於網絡的知識。

我個人更喜歡Web窗體到MVC的各種原因,我不會在這裏列出,但即使是Web窗體的支持者(特別是我)也會承認Web窗體是很不好的方式來了解網絡,因爲它抽象很多東西。這給了你生產力,安全性等等,但是如果你不知道底層框架是如何工作的並且可能會導致漏洞抽象的情況,並且很容易忽略瞭解細節,因爲你知道正在工作的東西......直到它破壞然後你不知道從哪裏開始。

最終的選擇是你的,但如果你從Web窗體開始,一定要了解HTTP動詞,cookie,原始響應流,http頭,html表單/提交模型內聯的CSS與單獨的文件和JavaScript的上下文Web窗體並確保您知道Web窗體如何自動執行這些操作。

+0

@ Stilgar有一些很好的瞭解:我和這個人2年前一樣處於相同的狀態......只是想確認,在我開始使用ASP.NET MVC之前...我是否需要了解有關HTML,CSS和Java Script的「一切」? –

+1

@ Sana.91沒有人知道有關HTML,CSS和JS的「一切」,但如果你在使用ASP.NET MVC之前先熟悉它們,它會更容易,否則你可能會發現自己在同一時間學習了幾件事情,努力。不要使用Canvas,Web Workers,Web Sockets,CSS轉換等高級HTML5內容。請確保您瞭解基本知識。 – Stilgar

+0

因此,至少要學習3個基本知識,才能完成這項工作,對吧? –

2

不能說,如果一個人要統治另一個出來。 但最容易學習的是asp.net MVC。 Pro ASP.NET MVC 3 Framework

這是一本很好的學習書籍

+0

坦率地說,我懷疑MVC對於桌面編程背景的人來說更容易(特別是來自Win Forms ,MFC或類似的面向組件的框架) – Stilgar

+0

從WinForms或MFC來看,我猜WebForms比MVC更容易進入。這是WebForms設計的轉換路徑。 –

+0

那麼我有個人較少的問題與MVC然後ASP.NET。但是那是因爲我對html/php – Frederiek

3

1)這兩種技術是否會共存還是將MVC取代ASP.NET?

微軟今天的官方位置是這兩種技術將共存。 ASP.NET MVC不會取代傳統的ASP.NET。至少微軟將繼續在ASP.NET中發佈新功能。

2)如果我想學習ASP.NET MVC。我需要學習ASP.NET作爲先決條件嗎?

並不一定,但如果您瞭解它會更好,因爲ASP.NET MVC基於ASP.NET內核,它將幫助您更好地理解底層技術。

3)你能推薦一些學習資源嗎?書?視頻?沒有支付微軟培訓:(

http://asp.net/mvc是一個良好的開端。

1

達林爲您提供了1和3很好的答案,但我不同意一些2:

2)如果我想學習ASP.NET MVC。我需要學習ASP.NET作爲先決條件嗎?

不。ASP.NET WebForms(通常被認爲只是ASP.NET)有一個非常不同的範例。

儘管ASP.NET WebForms儘量隱藏所有網頁(如POST和GET,HTML,如何維護狀態),但ASP.NET MVC依賴於瞭解和理解相同的內容。學習WebForms的ServerControls和ViewState沒有多大幫助。

當然,在WebForms和MVC中都會遇到ASP.NET堆棧的一些部分。在這兩個地方使用不同的狀態機制(會話,應用程序,cookies等),服務器,Reguest和Response對象,緩存機制,jQuery等。