2009-04-22 55 views
11

在我指出其中一個「VS.」之前,像下面的問題......在構建企業解決方案時,安全地跳上ASP.NET MVC的潮流?

...請讓我說,我不是在尋找一個比較狀態下。

我有些擔心,我需要的答案包括:

  1. 是做瘋狂的用戶界面(例如,具有UI爲構建BOM樹在線)陡峭的學習曲線?很多發佈問題的人似乎在某些UI需求方面存在問題,或者其他問題讓我感到擔憂。技術是否足夠成熟以處理這些類型的需求?
  2. 是否有一個相當發達的社區,以及網上文獻的可用性如何?您可以爲WebForms獲取大量文獻。
  3. 建立傳統的企業WebForms網站的時間是否可以與其相比較呢?
  4. 需要多長時間才能讓整個開發團隊與WebForms合作(如果不是迷戀)才能熟練掌握ASP.NET MVC?

它的真相我認爲,StackOverflow是谷歌般的產品,ASP.NET MVC可能是偉大的。但我堅持在貴公司的應用程序類別中開發軟件。

alt text http://stuffthathappens.com/blog/wp-content/uploads/2008/03/simplicity.png

因此,採取暴跌可能被證明非常昂貴的以後,如果事情不能做,或者有被黑客攻破。希望聽到那些已經冒險的人。

謝謝。

+3

+1,如果只爲Eric Burke漫畫! :P – 2009-04-22 04:36:38

+1

+1,如上:) – twk 2010-09-23 14:10:45

回答

4

大約3個月前,我被告知我需要開發一個企業網絡應用(實際上是一系列小型網絡應用),但我可以選擇任何我想要的技術。因爲我對VS/C#/。Net非常適應,所以選擇ASP.NET WebForms還是ASP.NET MVC2是一個難題 - 與你不同,我唯一的背景是使用Windows Forms(WinForms)和小WPF。所以我不得不研究(並嘗試)WebForms和MVC。

就像你一樣,我意識到我的應用程序既不是谷歌也不是蘋果的,但是你的沼澤標準公司應用程序有成千上萬的按鈕和框等.WebForms似乎是部署速度最快的,但很難測試並且難以長期維護。 MVC似乎有更陡峭的學習曲線,但一旦建立,測試和維護將變得輕而易舉。

我只用WebForms弄了一個星期,所以我不能評論它。但MVC絕對是我期待它的一切。

是的,這是一個陡峭的學習曲線。概念是新的對我說:

  • 模型 - 視圖 - 控制器(MVC)
  • 分離關注點(SOC)
  • 模型綁定
  • 單元測試和測試驅動開發(TDD)
  • 嘲笑和打樁
  • 依賴注入(DI)

,幫助這些書我大多數是:

我也刷上了我的HTML,CSS ,和Javascript。

總體而言,似乎是斜升工作在開始一個公平的數額,但維護和擴展現有的應用已經相當痛苦。無論何時我被要求進行修改,這都非常簡單,我通常能夠按時或有時提前交付。

在一個理想的世界,寫一個MVC應用程序將與2人發生了。一個人編寫核心代碼,第二個人編寫UI和視圖(HTML,CSS,Javascript)。儘管完全可以自己完成。 (這是我在做什麼現在...)

我遇到了一些掛鉤的企業部署,雖然。在內部,我的公司正在運行Windows Server 2003和IIS6。不幸的是,當使用虛擬路徑時,我們無法讓應用程序在IIS6上正確部署。 (所有對CSS文件的引用都被打破了。)如果你打算部署MVC,我會推薦使用IIS7或更高版本。據推測,MVC適用於IIS6,但要求您的IT部門願意弄清楚如何使其發揮作用。

編輯:我才意識到我從來沒有直接回答你的問題。這裏所說:

  1. 我個人的經驗說,是,是的,學習曲線陡峭,建立良好的模型和用戶界面,但我不是一個真正的網絡開發,所以我一直在與障礙。好消息是MVC技術相當成熟。

  2. 是的,社會是相當發達和成長。您將從StackOverflow以及MS的ASP.NET MVC子論壇中獲得很多好的答案。

  3. 我沒有親身經歷編碼的WebForms,但我已經編寫大量的WinForms應用程序,我覺得這是我花了約。構建此MVC應用程序的時間再延長3倍。最初的投資是熊,但定期維護和改進似乎會更快,尤其是隨着應用程序的增長......由於您似乎有一個程序員團隊,因此您可能會分得更快學習/工作量。

  4. 再次,沒有WebForms的經驗,但我可以告訴你的是,當我學習ASP.NET MVC時,有時候我很難理解發生了什麼,因爲我之前沒有ASP。 NET背景。(例子:成員和角色提供者 - 我最近必須自己編寫代碼,男孩很有趣......)另一方面,我沒有任何「做事的舊方式」(又名WebForms)無論是。如果你有一羣迷戀PostBack/CodeBehind的人,你可以打賭MVC起初看起來非常奇怪。但希望您的團隊能夠看到MVC帶來的優勢,並充分利用它。

哦,應該指出的是,你可以融合MVC和WebForms。這不是一個全有或全無的命題。雖然,如果我在你的鞋子裏,我會嘗試儘可能多地使用MVC,並且只有使用WebForms才能使它顯得更有意義。

好的,我希望這可以幫助... :-)

1

正如你所知,人人第一,技術第二。您可以簡單地構建公司應用程序的新功能,因爲它們可以共存,然後您可以自己回答所有這些問題。 這是新東西,所以它會比你習慣的時間花費更多的時間,但它的一切都很有趣,所以你可以直接跳過,然後開始爲你自己的人和應用程序回答這些問題。

4

我可以回答你的問題的一半。我剛剛從WebForms背景中融入了MVC。有(顯然)有學習曲線,但實際上並不是很陡峭。我已經能夠做出一點點努力的轉變,我發現整個事情都是一片新鮮空氣。然而,我很有前端技術的能力(HTML & Javascript),而且我不喜歡WebForms和Microsoft ajax框架生成的HTML。如果你和/或你的團隊是這樣的,你會喜歡它。但是,如果您對您對事件層次結構的深入瞭解感到自豪,或者如果您喜歡UpdatePanels的簡單性,那麼您可能會勉強抵制這些更改。

無論如何,文檔還行,足以讓人開心。這裏有幾部影片激起你的食慾: http://videos.visitmix.com/MIX09/T49F http://videos.visitmix.com/MIX09/T50F http://videos.visitmix.com/MIX09/T44F

這是你的文檔主頁: http://www.asp.net/mvc/

對於更多的信息,在asp.net的MVC的第一章1.0本書是在線可以免費下載。見ScottGu的博客在這裏: http://weblogs.asp.net/scottgu/archive/2009/03/10/free-asp-net-mvc-ebook-tutorial.aspx

而且,對於該章的全部代碼可以在這裏找到: http://www.codeplex.com/nerddinner

最後,在開發時間方面,我想可能需要更長的時間用於開發應用MVC(儘管我沒有這方面的證據),但我認爲支持,維護,修復和增強將花費更少的時間。所以,通過一個小型的前期投資,我認爲你不僅僅能夠收回這一努力。

無論如何,就像我說的,這些是我的初步發現。我還沒有遇到一個非常棘手的問題。

+0

感謝您的MIX鏈接,沒有見過這些。 – brism 2009-04-22 14:07:40

0

有趣的是,你的問題集中在你的問題上,而不是任何好處。你問自己「爲什麼」的問題嗎?如果你覺得你可以成功使用WebForms,爲什麼要改用MVC? MVC中有什麼證明風險是正當的?如果你爲這個項目付錢,你會怎麼做?

我不是以任何方式在MVC上投入WebForms,但作爲一名架構師,您需要能夠回到非常強大的問題,爲什麼您決定從一個非常知名的數量轉移到一個相對較新的一個。我認爲這樣做有很多好的理由,但這不是我的工作。 :)