2010-02-10 148 views
10

這可能是一個騙局,但我找不到直接的答案。如果一個人即將開始通過.Net框架學習Web開發,他應該選擇哪種技術?學習Asp.Net WebForms或Asp.Net MVC

  • Asp.Net的WebForms
  • Asp.Net MVC

同時考慮這三個方面

  • 未來的範圍
  • 複雜
  • 功能

注:已經做了一些的WinForms使用C#

感謝

回答

5

由於大多數人會說,我相信,這完全取決於你想學習和發展的希望採取的風格是什麼。如果你想對頁面標記進行很多控制,並打算使用大量的AJAX和CSS,那麼MVC是一個更好的方法,最大的折衷是你失去了Microsoft控件,如Gridview和其他拖放組件。 MVC是非常強大和可擴展的框架,學習它也可以讓你學習MVC模式(如果你以後將其技能多樣化到其他開發平臺,這是非常有用的)。

但是,如果您要創建大量內部Web應用程序,並且需要快速交付,那麼Webforms肯定是一個更好的方法,它有很好的記錄和成熟,並且這些控件允許您免費構建強大的功能。雖然您將獲得用於處理MVC中的數據的基本模板,但它並不像Webforms中的建築應用程序那樣快。

我個人的建議是學習MVC(以及它的模式),因爲它沒有很大的依賴專有的Microsoft組件,並且讓你在前面思考你的應用程序,並且它與後端進行交互。

如果你想有一個大的MVC網站的一個很好的例子......你就可以..計算器ASP.NET MVC的運行。

希望這會有所幫助,這是一個非常普遍的觀點,這兩個論點還有很多。但是從個人經驗來看,我認爲MVC將從長遠角度教您更多可重用的標準Web技術。

喬恩

1

明確回答這個問題是不可能的,但我可以幫你做出決定通過突出你一些事實和關鍵點編程這兩種技術。

Web窗體一直存在,因爲長,所以他們更成熟可靠相比,MVC,當涉及到把事情的時間內完成!與mvc相比,即使網絡上的知識庫對web表單來說也要大得多。

Web表單在功能上非常豐富,可以讓您更好地控制自己想要的操作方式。 MVC作爲輕量級應用程序開發平臺有其獨特之處。

如果你是一個新手,那麼我建議你去爲web的表單第一和開始尋找並行MVC。

stackoverflow.com已經建立使用asp.net mvc平臺。

+1

我不能不同意你更多。 MVC是一個成熟的Web框架模式(大部分是MVC)。一般的模式和ASP.NET MVC框架中都有一些荒謬的知識。下面是我有爭議的說法:大多數最好的.NET開發人員已經去了MVC框架(不一定是ASP.NET MVC),因爲他們意識到這是一種優越的模式。 –

+0

「Web表單在功能上非常豐富,可以讓你更加控制自己想要的內容」我無法得到這個結果。大多數教程/書籍都表明,MVC比WebForms提供更多的靈活性和控制應用程序應該做什麼和如何操作! –

5

這可能是fairly controversial :)

我個人的看法是;停止投資webforms(這是一個網絡的破碎模型)並學習Asp.Net MVC,這樣不僅可以生成良好的設計Web應用程序,還可以在Web上的其他地方使用您的知識。 MVC讓你意識到HTTP,HTML和其他潛在的'網絡基礎設施',爲你提供更好的成功機會。因此,除非你想賺錢(再次完全是個人觀點,只需要一小撮鹽)支持webforms的舊裝置(有點像COBOL-抱你馬webforms粉絲:))我肯定會強烈建議Asp.Net MVC;)。誠然,我不知道在網絡表單,最近的事態發展(especially 4.0 ones),所以你可能要等待這些以及..

編輯:如果你覺得過去的WinForms經驗將是一個優勢或參數對於使用webforms(這是微軟開發人員的主要賣點,我認爲),你會適合大約一週,並在其餘時間錯誤。在這兩個webforms和winforms你有控制。相似性在那裏結束。事件模型是完全不同的,線程是完全不同的,你甚至不能比較渲染等等。這實際上是webforms的主要問題;試圖在完全不同的架構上看起來像winforms。

+0

更不用說大多數其他Web框架都是MVC,所以你對ASP.NET MVC的知識也能夠轉移到那些。 –

3

找到一份做WebForms的工作比較容易,而且MVC現在似乎並沒有在生產環境中佔據一席之地。更復雜的應用程序現在肯定會使用MVC,較小的應用程序很可能更喜歡WebForms,但請記住,較小的應用程序代表了大部分就業市場。無論哪種方式,學習雙方或至少掌握WebForms並投入更多MVC(因爲它最終會迫使你學習通常與之相關的其他技術:nHibernate/Entity,DDD,TDD和等等)。另外,您可以在MVC中使用很多控件,但幾乎沒有任何調整,儘管思維方式非常不同。