簡體   English   中英

學習Ruby on Rails對Grails有什么好處?

[英]Learning Ruby on Rails any good for Grails?

我的公司正在開始Grails的發展 這樣做的原因是,當前的開發人員沉迷於Java,但感到某些將來的Web開發項目需要MVC風格的語言 就個人而言,我來自設計/可用性領域,但是當我承擔更多的“前端”職責時,我開始感到有必要更深入地學習語言,以便我可以編寫一些邏輯代碼,尤其是前端用戶界面和內容的代碼。

我一直在嘗試親自接觸Python / Django ,但是從來沒有花太多時間在上面。 現在,我的公司正在“跳入” Grails,因此我購買了“ 使用Rails進行敏捷Web開發(第3版-Beta) ”,並且我開始涉足RoR 我仍然希望將來或從側面學習Python ,但是我最大的問題是:

  • 我是否應該學習RoR,並在我的“投資組合”中使用一種更通用的語言,同時知道我的RoR知識也將對我的Grails需求有用?

-要么-

  • 我是否應該跳過RoR並專注於學習我很快就要工作的Grails,而稍后再學習RoR / Django(Ruby / Python)?

基本上,問題圍繞Grails在非公司環境中的有用性以及Rails和Grails之間的相似性。 (並且,與此同時,為了避免對Python與Ruby的百年討論(在Rails上:))

嗯,我不知道怎么說。 有人可能會為此而ash惜我。

語言(Groovy和Ruby)

作為一種語言,我認為Ruby與Groovy相比更時髦。 Groovy的存在只是為了減輕Java程序員的負擔,因為您不需要學習太多的新語法。 但是總的來說,我認為它不像Ruby那樣時髦。 在今年的JavaOne中,基於參加者的投票,Groovy不會成為值得學習的JVM語言,但Scala才是首選。 除此之外, Groovy的原始創建者本人也不相信自己最初創建的語言

社區和職位空缺

至於社區,Grails社區並不像Rails那樣大,盡管自從Spring收購以來,越來越多的人正在認真地使用它。 與Grails相比,Rails在市場上有更多的職位空缺(也就是說,如果您想投資尋找新工作)。

框架(Grails和Rails)

但是,作為一個框架,如果您真的關心可維護性並需要訪問Java框架和舊版Java系統,那么Grails是可以采用的方法,因為它提供了對Java的更干凈的訪問。 Grails本身是基於幾種流行的Java框架(Spring和Hibernate)構建的。 Rails本身的恕我直言像Ruby本身一樣時髦,但是它的時髦使您失去了可維護性。 Matz自己更喜歡Merb而不是Rails 2,因為Rails在Ruby之上創建了DSL,這確實違反了Ruby的哲學。 而且我認為,因為Rails本身是經過優化的,如果您與創建者的觀點不同,那么這可能就不符合您的需求。

結論

因此,在您的情況下,請學習Grails,因為這是公司的共識(您需要尊重共識),並且如果您仍然想確保自己的工作。 但是,如果您想在將來獲得新工作的機會,也可以花一些時間學習Rails和Ruby。

只是一個問題,是他們選擇Grails的原因是因為Groovy在語法上比Ruby更接近Java,或者是因為他們想要訪問Java?

如果是前者,那么我想說的是專注於Grails,因為這就是您將要使用的。 如果是后者,則可能要查看開發團隊是否願意使用JRuby。

我以前從未使用過Grails或Rails,但是我以前曾經使用過Groovy和Ruby,作為一種語言,我認為Ruby更簡潔,更一致,並且團隊可能會更喜歡生產。 作為一個平台,Rails已經發布了更長的時間並且受到了很多關注,因此我可以想象它是一個使用更多充實功能的更穩定的平台。

JRuby擁有對用Java編寫的類的完全訪問權限,因此這就是為什么我要考慮嘗試使用Rails的原因。 如果在決定時間來不及考慮,那么我想您可以忽略此職位。

基本上,如果您只想使用Java,則應該考慮使用JRuby,但是如果團隊害怕像Java這樣的非Java語法,則可以照常繼續。

我都會學的。 它們都是新興技術。 學習RESTful編碼是任何語言的真正好處。

我在工作中使用GRAILS,在輔助項目中使用RoR。 我可以說RoR社區更大(我說的是RoR vs Grails,而不是RoR vs Java),並且非常有幫助。

簡短的回答:它們是相似的...。

我一直在學習RoR和Grails,后者更容易學習。

兩種框架都具有相同的原理(敏捷,親吻,干枯,鴨子打字等。),但是Groovy語法非常好,您可以在眨眼之間學習和使用。

我真的覺得Grails的未來比RoR更光明。

PD:以防萬一,如果您發現它有用,我的一所大學正在與Grails一起全職工作,並且有一個博客提供一些技巧:

http://dahernan.net/search/label/grails

只需跳過RoR。 確實沒有很多類似的東西(除了名字)

我當然相信,如果您打算使用Grails進行認真的開發,那么對Java足夠熟悉,再加上對使用動態語言進行編程的豐富經驗,就綽綽有余了。

僅比較視圖(Grails中的標簽庫,RoR中的RHTML)和持久性內容(GORM與ActiveRecord)在核心方面太不同了,以至於花時間學習RoR的實質內容。 只要深入Grails,您就不會后悔。

編輯:錯字。

@李維菲蓋拉

一方面,Grails比Rails靈活得多。 Rails很難與舊版數據庫一起使用,因為ActiveRecord具有太多的設計約束,許多舊版DB並沒有遵循這些約束。 其他的Grails可以使用標准的Hibernate映射,該映射可以適應范圍更廣的DB設計。

Rails社區在宣傳RoR方面一直非常積極,結果是樹立了很高的期望,但並不總是能夠滿足(程序員的生產力很好,但是一旦部署就很難保證良好的性能)。

Grails被設計為Java的腳本繼承者,而JRuby on Rails中使用的Ruby-Java集成則必須進行改進。

我建議您堅持使用Grails。 它可能沒有與RoR相同的浮華,但這是一個務實的選擇。 您可以提高生產率並重用現有的Java庫。

直接跳入Grails。 我確定Ruby / Rails很好,但是在Groovy / Grails中也是如此。 我推薦這本書。

http://beginninggroovyandgrails.com

記住勘誤表是在線的。 書中有兩個錯誤。

http://beginninggroovyandgrails.com/site/content/errata

另外,請查看3分鍾30秒的演示,該演示創建了您的第一個Grails應用。

http://grails.org/Grails+Screencasts

本教程將向您展示基礎知識。

http://grails.org/Quick+Start

您應該只跳過RoR,而專注於學習工作所需的Grails。

是的,Grails是必經之路。 RoR很好,但是它將您與Ruby生態系統聯系在一起。 學習新框架或語言的一部分工作是學習類庫以及語言語法。 如果您的同事都是Java類型,您將更容易獲得幫助和支持,因為他們都將使用與您相同的語言。

學習一些Groovy和Java的另一個好處是,像GWT這樣的Web框架將向您開放。 Grails有一個GWT插件,作為前端開發人員,您會喜歡它的易用性和跨瀏覽器的兼容性。

另外,至少有一家托管公司提供免費的Grails應用程序托管( http://www.mor.ph/ ),這意味着您可以在無需付費的情況下以小數據量構建網站原型。

我更喜歡Grails而不是Rails,但學習Rails可以使您擁有一個更加平衡的視角,並且實際上使您睜開了眼睛,忽略了Grails中可能發生的事情。

是的,如果我們比較grails和rails,我會選擇grails(我在grails中開發了一些Intranet應用程序)。

但是Django優於兩者-因為python是完美的選擇。

乍一看,您會認為它們是完全不同的故事,因為它們基於極其不同的語言(Ruby和Groovy)。

然后,在閱讀了一些教程之后,您將意識到它們具有相同的原理,腳手架,鴨式打字等等,最終達到了相同的目標: 使敏捷編程變得可行

如果您已經對IoC和MVC這樣的術語感到滿意,那么您會發現這些選項中的任何一個都簡單易學。

我會說不,我也正在學習Grails,我也已經考慮過這一點,但是僅僅學習Grails就是一件很重要的事情,再加上學習Groovy(這很容易,但仍然必須學習正確嗎?)等等。 ...所以學習Rails實在太多了。

您可能還想看看Clojure ,這是一種剛剛開始流行的JVM語言。 對於基於Java的公司來說,這可能是一個不錯的選擇,因為它與您的舊代碼庫兼容,並且擁有許多現代創新。 有一些不錯的Web框架正在出現,包括Compojure

我將從Rails開始,因為它是Ruby最受歡迎的Web框架。 它會在您的投資組合中看起來很棒。 通過學習Rails,您將了解Ruby的工作方式,並且將來可以更輕松地學習其他框架和語言。

為什么要學習Rails?

- 清晰的語法

有人說它很像英語句子,盡管引擎蓋下隱藏了一些東西。

-快速發展

非常適合創建MVP和原型。擁有許多可加快開發過程的庫和工具

-很多寶石

問題是Rails在Ruby社區中得到了大力推廣,其生態系統圍繞着Rails展開。 因此,在創建和使用gems時,開發人員首先關注與Rails的兼容性,然后才關注與其他框架的兼容性。

這里有更多關於Ruby on Rails的學習

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM