2012-08-06 70 views
7

我來自Ruby on Rails,我需要創建一個C#web應用程序。目前我在看ASP.NET MVC和MonoRail。我發現大多數比較是從2008-2009年開始的,當時ASP.NET MVC還是新的,而且大部分反對MVC的觀點都認爲它太過原始,並不像MonoRail那樣精緻。尋找ASP.NET MVC和MonoRail之間的現代比較

那麼,從那以後幾年過去了,微軟在ASP.NET MVC上做了很多工作。兩個框架的現代版本如何相互比較?

+0

雖然它是一個廣泛的問題。 ASP.NET MVC是穩定的,並且效果很好。當前版本是MVC 3.0,需要.net framework 4.0,支持Razor頁面和ASPX頁面。 – Rajesh 2012-08-06 09:26:36

回答

2

大約四年前,我評估單軌,比起今天的MVC3,這些是主要的差異(恕我直言)

  • 剃刀模板引擎作爲默認的MVC。這是一個很高興使用,而單軌列車默認爲NVelocity。我檢查了Castleproject的網站,並有計劃升級Monorail ...
  • MVC3的文檔非常多,而且今天 - 也許是我的錯 - 我在Monorail的網站上找不到任何在線文檔。
  • 區域,部分,剃刀集成在VS2010中。如果你不喜歡它,你可以插入並使用不同的模板引擎。
  • MVC3具有更好的阿賈克斯/ jQuery的整合,不顯眼的表單驗證
+0

好的,謝謝。我會試一試。 – 2012-08-06 18:02:00

1

我一直在與這兩個框架在過去的幾年。最初,當mvc出來後,我們堅持單軌列車,因爲我們覺得它是生的。恕我直言,MVC3現在處於比Monorail 2更成熟的地步,它具有更好的支持,更多的文檔和更新的版本定期出版。

  • Razor比nvelocity更強大,並且具有很好的Visual Studio支持,這是nvelocity所缺乏的。
  • 未編譯單軌視圖與編譯的MVC3視圖。有時,只要改變視圖並立即改變視圖,就可以發展出它的高興。另一方面,編譯視圖更快。
  • 單軌列車一段時間還沒有新版本,似乎停滯不前。單軌3雖然在作品中。
  • MVC3現在也支持helpers,既可以作爲擴展方法,也可以直接在Razor視圖中聲明它們。單軌僅支持助手作爲輔助類的靜態方法。
  • MVC3有更好的路由支持。
  • MVC3現在也支持IoC支持過濾器。
  • MVC3支持將過濾器應用於方法級別,但單軌僅支持控制器級別的過濾器。
  • MVC3不支持開箱即用的Ioc,而是您可以使用IDependencyResolver進行此操作。你可以找到許多解決方案。
  • MVC3對CSRF攻擊有很大的支持。在Monorail中,您需要通過使用助手和過濾器的組合來自行開發。
  • MVC3支持預編譯視圖,因此您可以在發佈您的網站之前儘量減少錯誤。 但是你不能在Monorail中使用nvelocity查看,因爲它們被解釋爲
  • MVC3 html會自動對任何字符串進行編碼。在單軌列車上,你總是需要給這個幫助者打個電話。

單軌3出現時,雖然它會很有趣,看看他們支持。看看Hammet的Monorail 3的價值主張https://docs.google.com/document/d/1AkeeJPh8kZQKtnHN3RDR3v-UfG7zt9wCL0jMiualUqI/edit?hl=en&authkey=CN7U99YN&pli=1