2008-11-19 126 views
11

因此,我花了足夠的時間使用ASP.NET webforms來知道我寧願回去做經典的ASP,也不願意使用它們。但是我很猶豫,直到它變得更成熟時才轉向ASP.NET MVC。有沒有開源的替代品?ASP.NET MVC的替代品?

我正在尋找的主要事情是很容易學習,並獲得原型和運行。如果有任何幫助,我的首選是python「混搭」方法(比如說web.py/SQLAlchemy/無論什麼模板引擎適合我當時的幻想)。

+0

出於好奇,你選擇了ASP.NET MVC嗎? – 2011-06-02 09:41:37

回答

11

過去18個月我們在我們的小企業在線商店中使用了MonoRail RC2。它取代了一個7年傳統ASP頁面的災難。 MonoRail RC2對我們運作良好,平均每天處理約14,000個網頁請求。它使我能夠很快地開發網站,獲得免費,並保持良好狀態。爲此,我感謝MonoRail團隊。

我剛剛使用了MonoRail位。我選擇了ActiveRecord上的iBATIS.NET,因爲我必須編寫創造性的SQL來保持與7歲的數據庫的兼容性。所以我不能說一些其他的城堡圖書館。

單軌的一些優點包括以下內容:

  • 這是很容易在那裏得到的和修改的東西。例如,默認路由實現在重新路由時不保留查詢字符串(我需要這樣做以保持向後兼容現在不存在的經典ASP站點爲了SEO原因而使用的舊URL格式),並且它不支持發佈HTTP 301該場景的永久重定向標頭。所以我實現了所有MonoRail接口,將其插入到配置文件中,然後關閉。
  • 它仍然是ASP.NET,所以你仍然可以使用表單認證,總體真棒HTTP/HTTPS Switcher at Codeproject和緩存。
  • 相對較少的驚喜。經過一年多的工作,我沒有太多時間在MonoRail詛咒過。這是一個相當不錯的試金石測試。一些輔助類(FormHelper)可能會有點奇怪,嚮導框架完全是奇怪的,而參數綁定有時可能會讓你陷入循環,但它並不經常發生。
  • 視圖引擎的選擇(模板)。我把這個放在這裏,因爲大多數人似乎認爲這裏的選擇是件好事,儘管我通常認爲它不是。

單軌,但也不是沒有問題:

  • 發展方向的缺乏。 RC2和RC3之間的變化數量非常可笑;很多受保護的虛擬方法消失了,很多幫助者都改變了(當你的視圖引擎沒有靜態類型時,這是很大的問題),甚至單元測試控制器和視圖的機制也改變了。出於這個原因,我們可能會永遠留在RC2上。現在ASP.NET MVC已經出來,MonoRail背後的社區會保持多麼健康還不清楚(儘管ayende和hammett像以前一樣熱情和活躍)。作爲MonoRail的「事實上的」視圖引擎(至少在我們開始開發時),NVelocity是一種很有前途的模板語言,具有不健康的實現和維護前景。 (它是否工作正常?但是作爲Java版本中的CTRL + C CTRL + V端口,請不要讀取該庫的源代碼,因爲您的眼睛會流血。)
  • NVelocity和RC2隨附極其嚴重線程錯誤的地方在同一時間訪問該網站的多個用戶可以獲得爲另一個用戶提供的服務頁面。它在最新版本中得到修復(由於Castle項目的發佈性質,它很難升級到),並且我們設法解決了這個問題。但是遇到一個非常令人不安和意想不到的問題,在微軟框架中很難遇到這個問題。買者自負。

單軌提供了一個極好的機會,讓我們在2007年6月通過給我們提供了一種遷移現有網站上的微軟堆棧中的方式.NET平臺,避免WebForms的(這對於內部網站是偉大的,但在我看來,當您需要在面向公衆的Web站點上對HTML輸出進行細粒度控制時,這並不是那麼好)。 (很好,真正的原因是我只是鄙視WebForms回發模型。)在那個時候,ASP.NET MVC甚至不是微軟眼中的一線。

但是,既然ASP.NET MVC確實存在,並且考慮到微軟將它定位爲WebForms的替代品,我知道我個人會強烈考慮它適用於任何未來的項目。 MonoRail是一個偉大的項目,它爲我們提供了很好的服務,並且我非常感謝開源社區,但我認爲它是一個使用頻率很高,磨損很大的工具,在我的工作臺中退出到較低的抽屜。沒有它,ASP.NET MVC可能不存在。

0

似乎有趣的一種替代方法是MonoRail,儘管我還沒有完全測試它。

1

另一種我沒有經驗的方法是ProMesh。就我個人而言,我轉向ASP.NET MVC。

6

就我個人而言,我已經通過CastleProject嘗試ASP.NET MVC和MonoRail。儘管我非常喜歡其他的CastleProject庫,但我發現我比ASP.NET Castle MonoRail模型更喜歡ASP.NET MVC實現模型。既然ASP.NET MVC已經發布了他們將包含jQuery的版本,我真的很興奮。最終,我認爲這取決於你使用的其他庫。如果您使用NHibernate,ActiveRecord和Castle Windsor,那麼您可能會喜歡MonoRail庫。如果您不使用任何這些庫,或者更喜歡Microsoft企業庫(目前是我工作的公司標準),那麼您可能會發現ASP.NET MVC更適合您的需求。關注來自Scott Guthrie本人的ASP.NET MVC,我懷疑它很快就會消失。事實上,使用它並簽署它的人越多,越贊成成爲事實標準的可能性越大。

0

我認爲ASP.NET MVC已經夠成熟了。

看看你發佈你的問題到這個網站。 它完全由它構建。

此外,ASP.NET MVC的建立,使您可以混合和匹配視圖引擎,ORM,Javascript框架(儘管我推薦JQuery)以及什麼不是你喜歡的。

+0

問題:「ASP.NET MVC的替代品?「 答案:」ASP.NET MVC「 – 2016-11-12 12:39:32

0

ASP.NET MVC應該以快速成熟的方式開始被接受。現在它已經處於測試階段,並且據說幾乎完整,人們採用它的速度將會繼續增長,並且可能會更加劇烈。隨着RTM/RTW的發佈將在不久的將來發布,現在是開始採用RTM/RTW的最佳時機,這樣您就可以隨時隨地運行了。

如果您在ASP.NET MVC中看到了特定的缺陷,那麼您一定要讓Microsoft知道它。 Scott Guthrie非常容易接受反饋,MVC Contrib項目既可以接受建議,也可以通過圖書館獲得大量增強功能。