2011-08-23 110 views
3

在構建了5個Rails網站並且必須處理Rails 2.3,3.0和3.1版本差異,安裝麻煩以及Ruby和其他陷阱引發的意外內存峯值之後,我決定採取行動到使用Spring的Java後端Web開發。我知道這兩者之間有着天壤之別,JSP開發並不是Rails開發之後的下一步,但我的主要觀點是:從Rails遷移到Java Spring

a)Java更成熟,更快,更高效編程語言與Ruby相比。 b)Java(Spring)提供了多種庫,工具和插件,可以選擇並配置它們以定製一個Web應用程序。 c)與Ruby相比,Java本身提供了更豐富的編程語言體驗。

這裏我的邏輯可能是模糊的,但是,我現在比任何事情都更厭倦了Rails開發。

我的問題(最後)是這是一個合乎邏輯的舉動嗎? Java開發是否真的是後端開發的更好選擇?

+7

您可能正在體驗「柵欄另一側的草更綠」效果。 – ldog

回答

4

在處理了Ruby on Rails和Java之後,我會說在Java更適合的情況下,有些情況下Ruby on Rails是更好的選擇。確實,RoR存在令人沮喪的事情,但請放心,在Java世界中,您也會遇到不同的挫折。就像在Java中一樣,你將不得不使用不同的框架和庫(只是Spring可能不夠),你將不得不將它們集成在一起。你可能會使用Maven(Bundler更多的痛苦),一些測試庫的集合(再次,Ruby on Rails是一個明顯的贏家)。您將不得不在Java應用程序中編寫大量樣板代碼,從而使開發速度變慢。

我使用Java的一般原則是: 我有非常豐富的領域模型。然後,您可以利用Java的編碼來實現接口和泛型類型,從而爲您的域模型提供更好的設計。

如果出現以下情況,請使用Ruby on Rails: 您的應用程序是帶有不那麼大的域的CRUD。

P.S.我不會說Java是一種更豐富的語言。爲了保持向後兼容性,Java中的許多東西很臭。 Ruby的動態特性使你可以做很多很酷的事情,而這些在Java中你無法做到。

3

我想嘗試Grails。這是Java,Groovy,Spring和Hibernate結合在一起使用慣例而不是習慣於Rails的編碼。這可能是一個很好的中間步驟。