2011-04-14 96 views
8

我主要在.NET世界開發,但我有一個項目需要真正的青睞前端。很多用戶界面的愛。ASP MVC3 vs Ruby on Rails

使用Ruby On Rails而不是MVC3有價值嗎?我應該如何選擇兩者之間的選擇?有其他選擇值得關注嗎?

我知道Ruby On Rails非常流行,但它與MVC3有何不同?

+4

我也希望看到比較,但這些問題總是會被刪除。 – Dty 2011-04-15 03:47:43

+0

@Dty重寫類似這樣的問題,有相當不錯的選票類似的措辭。我希望它能夠重新開放和回答。 – Adam 2011-04-15 13:53:08

+0

@Dty,這些類型的問題有更好的機會在http://programmers.stackexchange.com/ @Adam沒有關閉,我不會在這個問題上重新打開StackOverflow。 – 2011-04-15 14:00:40

回答

11

使用rails代替mvc3有價值嗎?

是的。如果沒有,它會給你一個不同的觀點,並拓寬你對編程問題的看法。有一些關於ruby的簡潔性,塊的有用性和語言的動態行爲,可以讓你真正以不同的方式思考。

如何在兩者之間進行選擇?

如果項目很短,然後堅持你所知道的。但是如果它最終會成爲一個更長的項目,那麼開始深入研究rails的學習曲線可能是值得的。大多數人會告訴你,rails比.net mvc開發速度更快。如果項目足夠長,一旦你習慣了,你最終可以在軌道上更快地開發。

這就是說,Microsoft程序員的學習曲線可以是STEEP!如果你是一個unix的人,那麼它不會如此糟糕,但如果不是,準備好了解很多不同的話題。命令行和你的shell,TDD,自制軟件或macports,git而不是subversion,gem,bundler,rvm,rspec或者其他一些測試框架等。

另外,如果你沒有mac或者aren'對某些* nix的味道,那麼你可能想堅持.net。從我聽到的是在windows上開發軌道是一個痛苦的經歷。

如果TDD對你很重要,那麼Rails就是要走的路。在rails上部署也更容易。

如果您喜歡使用別人構建的工具,生態系統可能是一個因素。 Rails擁有龐大的開源開發者基礎,爲社區做出了很多貢獻。如果你想比較一下github.com(for rails)和codeplex(microsoft)。但是,對於微軟的NuGet系統,微軟方面可能會開始創建一個更好的生態系統。但現在它甚至沒有接近。

其他值得關注的選項?

如果您需要開發一個漂亮的動態數據庫支持網站,那麼rails或.net mvc是很好的選擇。如果它更簡單/更小,那麼一些更簡單/更小的框架是sinatra(用於ruby)或者web用於.net。使用這些框架,您將能夠更快地獲得速度。

這兩個框架有什麼不同?

我注意到的最大區別是來自底層語言,ruby for rails和c#for .net mvc。 Ruby是動態的,而c#是靜態的。 .net mvc時,Rails不會被編譯。您將從.net mvc中獲得更多原始性能。

Rails的確是在考慮TDD和BDD的基礎上構建的。上次我使用.net mvc 1.0時,確實很難做TDD。

在開發時,幾乎每個.net mvc上的人都會使用Visual Studio,但我會說大多數rails開發人員不使用IDE。他們只是使用簡單的文本編輯器(textmate,vim,emacs)並使用控制檯進行調試。

編輯: * 獎金提示 *

如果你想開始與軌(我強烈推薦)最簡單,最徹底的辦法是要經過rails tutorial的邁克爾·哈特爾。在這裏面,你將瞭解的Ruby/Rails有以下

  • 混帳沿 - 源控制
  • RVM - 在同一臺計算機上運行不同版本的紅寶石
  • rspec的 - 用於TDD
  • 的Heroku - 使用SIMPLE部署的免費虛擬主機

一旦你對rails有一個很好的理解,你會想提高你的ruby技能,真正成爲一名優秀的rails開發人員。

+0

謝謝,這是非常徹底,非常我正在尋找。不過,我有一個關於「如何在兩者之間進行選擇」的跟進。你提到非* nix用戶更難,這是相對於ruby的語法或其運行時,或只是從Windows/.NET切換「差異」? – Adam 2011-04-15 18:49:00

+0

這不關乎ruby的語法。這是windows環境和* nix環境的區別(mac osx是freeBSD的一種風格)。 Windows和.net抽象了一堆東西。當你開始使用rails時,你也會開始生活在命令行中。我開始真的很難,但感覺「正確」。我明白現在發生了什麼事情。 – Dty 2011-04-16 00:02:14

+0

「你會從.net mvc中獲得更多的原始性能」。雖然技術上屬實,但這有點令人誤解:在任何非平凡系統中,CPU性能幾乎不會成爲瓶頸。 – 2011-04-16 00:18:31

0

Ruby和RubyOnRails聽起來像它會適合該法案。

如果你真的想要,你可以使用IronRuby的.NET善良。

至於說明理由 - 很多成功的網站都是用框架編寫的。它在MVC3上有着良好的記錄。

+0

道歉,我編輯了這個問題,試圖爭取更多我在迴應中尋找的東西。 – Adam 2011-04-14 19:38:42