2010-12-13 52 views
7

我是一位前端人物,他通過在我的代理機構開展各種項目,選擇了ASP.NET WebForms。在新項目中學習MVC,還是堅持使用WebForms?

我有一個開發人員的項目,我想使用/學習MVC - 但他認爲它不值得使用MVC。他的觀點是,MVC的好處被認爲,並且性能不會成爲問題,並且最好推動WebForms。

該項目是一個網絡應用程序,將爲人們提供項目規劃工具,創建個人聯繫人數據庫和他們自己的基本網站。

我個人的感受是,我討厭WebForms網站帶來的膨脹--ViewState,一個,巨大的JS文件,缺乏對標記的控制(例如驗證控件)。

顯然,ASP.NET WebForms鏈接到資源,但MVC是關於URL結構並解釋它們的。

經過討論和研究之後,我現在認爲,由於MVC所謂的大型過渡/學習曲線,使用WebForms確實更好。

我親眼目睹了Ryan Singer與RoR MVC的合作,並且我驚訝於所有事情的發展速度。

我是否應該接受現在更注重WebForms而不使用MVC,還是應該找到一種讓我的同事相信MVC是正確的做法?

+0

道歉,伊恩,爲窮人和不一致的語法。在進入會議之前,我急於發帖。感謝編輯,雖然有點迂腐。 – 2010-12-13 12:25:18

回答

6

我強烈建議ASP.NET MVC的前端 - 也許需要一些時間才能進入!但確實如此。例如,如果回顧過去改變任何事情,它就會更加靈活和簡單。

我會使用這與LINQ,例如,如果您使用的是數據庫。

ASP.NET MVC起初可能看起來非常困難,但一旦進入它,您可以使項目更加快速。這當然是我的意見。

另一件好事是我們已經爲Test Driven Development建立了良好的支持。


編輯(補充說明)

一個原因是MVC建成3個部分模型,視圖和控制器。這意味着您可以以很好的方式分享標記中的邏輯。我不會詳細討論MVC是如何在這裏構建的,因爲這是它自己的一個章節! (http://en.wikipedia.org/wiki/Model%E2%80%93View%E2%80%93Controlle r)

正如我上面提到的,那麼你對TDD有非常好的支持,我個人認爲我可以使用它只是出於這個原因。 ASP.NET MVC中的URL路由也非常狂熱,我錯過了ASP.NET中的良好支持。 ScottGu寫了一個很好的博客大約只是這一點: http://weblogs.asp.net/scottgu/archive/2007/12/03/asp-net-mvc-framework-part-2-url-routing.aspx

+0

用剃刀去吧! – Zote 2010-12-13 11:47:46

+1

所以你所做的一點是,維護比Web表單項目更容易?你能解釋一下你爲什麼這麼想嗎? – 2010-12-13 11:53:27

4

MVC是一個大的學習曲線,因爲它是從Web表單非常不同。如果你正在和其他不想學習MVC的人一起做這個項目,那麼你也可以堅持使用Web表單。你不能教一個不想學習的人,所以你基本上會無情地旋轉你的車輪,並且你已經有了一個網頁表單的背景,所以你至少會對環境感到舒適和熟悉,足以使進展。

如果你是自己做這個或者願意學習MVC的團隊,那麼我會建議爲性能和工具可用性選擇更少的路線,而不是學習新的東西並轉向框架很大程度上建立在測試驅動開發的概念之上。

Asp.Net MVC是一個非常不同的框架,它有一定的優勢,但你也將處理缺乏經驗的缺點,所以你需要有一個項目,你可以花時間,因爲你毫無疑問,在你得到你想要的東西之前,必須重新啓動某些東西。你會開始,學習新的東西,讓你回到原點,學習新的東西,讓你回到原點,泡沫,沖洗,重複。

+0

這就是我現在所在的地方。總的來說,我的問題是,在項目開始時,現在值得這樣做。 – 2010-12-13 13:26:35

+0

@ user315412 - 如果您可以花時間學習它,並且耐心等待,在學習開創性的東西后能夠從頭開始停止/重新開始,那麼我會說是。 MVC在我看來對大型項目來說更好,但即使是一個小項目,學習者也是體面的。 – 2010-12-13 13:55:35

0

這僅僅是爲了教育而可能值得學習MVC。它肯定會給前端開發帶來好處,但後端開發人員有缺點。然而,對於一個正常數量的客戶端工作的小型項目來說,它可能是相同的,所以您可以使用該項目來學習新技術。順便說一句,我也更喜歡Web窗體,因爲它是更高層次的抽象。

通常,如果您有AJAX重型前端,並且需要很多動畫和視覺效果,那麼對標記的控制非常重要,您應該選擇ASP.NET MVC。如果您有大量數據輸入和獨立於窗口小部件樣式的控件,您應該選擇Web窗體,因爲您可以更好地封裝行爲,所以可以重複使用很多。

+0

「後端球員的缺點」 - >如何呢?我發現它前後很相似。 – Fermin 2010-12-13 12:17:37

+0

@Stilgar - 我沒有看到後端傢伙的缺點。鑑於LINQ to SQL和強類型模型的用法,我發現它幾乎是「後端人」的理想選擇。如果您認爲Web表單具有「更高級別的抽象」,那麼我認爲您沒有花時間學習MVC。我發現MVC比Web表單具有更高的抽象級別,並且我只是破壞了表面(我是Web表單開發人員中間過渡)。 – 2010-12-13 12:35:29

+0

@Joel組件可以隱藏實現細節,如呈現控件或將HTTP POST轉換爲.NET事件所需的HTML。因此組件是更高級的抽象。藉助Web窗體,您可以開發幾乎不瞭解HTML的網站。它不會是有史以來最好的標記,但你可以做到這一點。 – Stilgar 2010-12-17 12:40:26

0

有100個理由選擇MVC或Web窗體。但是鑑於您是前端開發人員,您的學習曲線並不像後端開發人員那樣多,他們通常對編碼HTML的想法很少。

您現有的技能,如JS,CSS和Html將無縫移植到MVC。