2013-04-28 92 views
8

我即將進入ASP.NET Web Development,我已經知道一些使用Visual Web Developer和Web Forms的一些實現的基礎知識。然而,我沒有繼續下去Web Forms路徑並掌握VIEWSTATE以及隨之而來的所有醜陋,而是決定採用MVC路線。ASP.NET MVC我應該先打擾學習webforms嗎?

在這一點上,我想知道,我應該繼續學習Web窗體,然後轉移到MVC?或者,MVC可以在不瞭解Web窗體的情況下獨立學習?我最好的行動是什麼?

+10

學習webforms會爲你做的唯一的事情就是讓你更加欣賞mvc。 – 2013-04-28 19:05:36

+1

做一些研究,看看你可能喜歡什麼或嘗試兩種。做任何你想做的事,不要再聽別人說,只有當你做了一些有激情的事情時,無論別人怎麼說,最好的東西纔會從你身上發出。 – 2013-04-28 19:09:16

+1

@PopCatalin我已經做了一些研究,並且總結了一些真正讓我學習MVC的基本知識:1. Web Forms吸引人。 ViewState很糟糕。我不喜歡看它,或聽到它。頁面生命週期也一樣。 2. MVC提供了一個邏輯框架,或者它似乎適用於Web應用程序。這就像駕駛地圖或沒有地圖的區別。 3.很多熟悉Form和MVC的開發人員都非常喜歡MVC。 – user 2013-04-28 19:15:52

回答

17

不,別看Web窗體。

MVC的建模與HTTP的實際工作方式非常接近,這使得使用客戶端腳本處理和構建當今Web應用程序變得更容易。結合Web窗體和JavaScript真的很痛苦。

MVC也更好,因爲它有助於獲得正確的服務器端結構。也可以在Web窗體上使用模型 - 視圖 - 演示者(或控制器)分離,但它必須在Web窗體頂部錄製。

最後,在開始使用MVC時,您幾乎不會使用任何WebForms知識。反過來說,我教MVC的WebForms開發人員必須先從WebForms中脫身;-)

+1

看起來像。當我第一次看到一張概述頁面生命週期的圖片時,我想我失去了一些神經元......它們在痛苦中爆炸。 – user 2013-04-28 19:05:53

+0

任何書籍你都會推薦給那些以ASP.NET開始,專注於MVC並跳出Web窗體的人?我在MVC上看到的書似乎已經在ASP.NET中佔據了一定的知識基礎。 – user 2013-04-28 19:06:50

+1

使用Pluralsight教程,您可以使用免費試用版。 http://www.pluralsight.com/training/Courses/Find?highlight=true&searchTerm=mvc和MVC4:http://www.pluralsight.com/training/Courses/TableOfContents/mvc4-building大理論教程,理論與很多代碼。 – 2013-04-28 19:24:39

11

儘管.NET社區中的許多興奮點都圍繞着MVC,但許多那裏的應用程序仍然以webforms的形式出現。如果沒有其他原因,您應該繼續學習webforms,以便您可以將應用程序轉換爲MVC。

自1.0 RC以來,我一直致力於MVC,但無論我在諮詢工作中去過哪裏,如果有.NET,您幾乎都會看到webforms。事實上,我敢說在企業中大多數應用程序仍然是webforms。

在我看來,MVC是一個更好的平臺,webforms可能最終不會得到支持(儘管微軟仍然會這麼說)。仍然有多少人說,當我們發現一個古老的bug時,VB6將會消失並且被燒燬,並且必須花費數天時間來研究事物的工作方式。

我們還在年內具有web表單被徹底淘汰掉,而你不想限制你可以和不能做什麼,因爲你決定MVC是唯一的方法(你的公司可能不想花因爲你不喜歡webforms,因此轉換他們的超級壯觀webforms應用程序的錢)。

更多的知識永遠不會傷害,但無知可以燃燒你。

+0

你所說的要點似乎集中於Web Forms仍然在身邊,瞭解它們不會受到傷害。我贊同你。但是,我想這可以解決任何問題。即使你主要是一個ASP.Net開發者,知道一些PHP也不會殺了你。這可能是一件好事。我想知道的是,如果我從ASP.NET開始,我應該專注於面向MVC的書籍/培訓,還是應該先學習Web Forms?我可以學習沒有窗體的MVC嗎? – user 2013-04-28 19:23:22

+5

是的,你可以學習沒有webforms的MVC,但爲什麼呢?如果你是ASP.NET開發人員,你應該嘗試學習任何有助於你職業發展的工具。 PHP,Rails,Node ...這些都是工具,每個都有它的用處。我所說的是,如果你想讓自己變得不可或缺,就不要把自己陷入一件事情,並說「這就是它」。我瞭解到這一點很難。看看堆棧溢出的第一名用戶(John Skeet),他是Google的Java開發人員......並且是頂級C#開發人員之一。如果他有一個「MVC或Webforms」的想法,他甚至不會嘗試C#。 – nerdybeardo 2013-04-28 19:30:31

相關問題