2007年7月6日金曜日

grails に関する五つの誤解

grails に関する5つの誤解を grails の中心的開発者のひとり, Graeme Rocher が自分の blog に書いている. 特に grails は業務系で実際に使われることを目指しているのであって, Rails のクローンではない, というのがおもな主張だ.

Graeme の書いた「Grails に関する五つの誤解」を大急ぎで, およそのあらましだけを訳しておく.



1) JRuby on Rails があれば Grails なんて要らないじゃん.



だから Grails のゴールは Rails とはぜんぜん違うんだって. Grails のゴールは実績のある Java コンポーネント (Hibernate, Spring, ...) を統合して, DRY (同じコトは二度しない) の原則に従って使いやすくすること. 焦点は Java にある. Rails とは違って, あらゆる J2EE コンテナで動かせる.



2) じゃあ Java でいいじゃん, Groovy なんかじゃなくて.



だから Groovy は Java の替わりをしようとしているんじゃないって. Java は複雑なロジックや低レベルなアルゴリズムを書くのにはいいけど, 高レベルのところは Groovy で書いた方が絶対にいい. 両方が共生することによって新しい力が生まれる.



3) なんでエンタプライズ系には Rails より Grails がいいの?



理由はいっぱいあるけど, 最大の理由は Hibernate & Spring だな. それに較べると Rails は EJB2 っぽい. ActiveRecord とかに縛られちゃうでしょ. ドメイン・モデルの存在も大きい.



4) Groovy/Grails は Ruby/Rails に較べれば信頼性の低い競争相手じゃないか?



確かに Groovy/Grails は新しくて, ユーザ・ベースも少ない. でも Groovy/Grails はものすごく信頼性が高いフレームワーク上に作られている. もう一つはどこで戦うかということだ. Groovy/Grails には二つのゴールがあって, その一つは Java コミュニティが作ってきたプラットホーム, 技術, ツールを活かして, 簡単でエレガントで DRY な Web フレームワークを作ること. もうひとつは Java で Web アプリケーションを作るときの敷居を低くしたいということ. 相反する要求だけど, 今のところうまくやっていると思う. 今は個人や小さい会社が中心だけど, これからはもっと大規模開発にも適応していくだろう.



5) Sun は Ruby をバックアップしているぜ?



確かに Sun は JRuby が動くように手助けしている. でも僕の答えはこうだ. 最高のものは滅多に Sun から出てこない.