uehaj's blog

Grな日々 - GroovyとかGrailsとかElmとかRustとかHaskellとかReactとかFregeとかJavaとか -

(翻訳)RailsからGrailsに切り替える10の理由

Grails 1.0リリースおめでとうございます。ということで、
http://xmldo.blogspot.com/2008/01/railsgrails.html
で紹介されている記事を翻訳してみました。

(元記事)

Railsを2・3年エンジョイした後では、GroovyとGrailsを試すのも心理的抵抗があって大変でした。しかし、今回の契約では他の選択肢をチェックする必要があったので、見てみました。結果的には大収穫でした。以下はRailsからGrailsにスイッチしたくなるかもしれない理由です。

  1. GORMつきのhibernate/spring,jpaは、ActiveRecordよりかなり良い。
  2. 配布の問題がない。製品レベルのコンテナで動くから。
  3. すぐに使える国際化(DHHが特にやったような無視をしてない)。
  4. 実際に動くトランザクション(含むセーブポイント)。
  5. ダイナミックファインダーとカウンターだけじゃなくて、ダイナミックlistOrderByとか
  6. グリーンスレッドじゃない(Ruby 2.0では2010年ぐらい?に修正されるかもしれないが)
  7. すぐに使える悲観的ロック
  8. 真の生命を持ったプリペアードステートメントと.withCriteriaメソッド
  9. モックとスタブで作られた製品レベルのテストレポート。
  10. Luceneベースの検索操作(プラグインで提供)

これらのすべてが、非Javaプログラマには意味は無いでしょう。また、もし私がRails and Rubyの経験がなければ、Grailsの習得にはもっと時間がかかっていたでしょう。

一つ思ったことは、Railsでの開発を真の喜びにしてくれていた価値ある大量のgemsのリストをあきらめなくちゃならないだろうなあ、ということ。でも、apachejava sourceやspringやhibernate、そしてSunから(glassfish)のオープンソースのリストを見直してみたら、無かったら悲しくなるようなgems は思いつかないな。

以下、Graeme Rocherによる、彼のブログでの追加。補足もしてるので元ページも見てください。

  1. ひどくないビューテクノロジー(訳注:ひどい(Suck)といってるのはJSPのことだと思う)
  2. ジョイントコンパイラがあるのでGroovyとJavaの混在開発は簡単だよ。(性能問題があったときにCレベルに降りて解決しなくてもいいんだよ;-)
  3. Web Flowによるビルトインのリッチカンバセーション(訳注: Web Flowだとスコープが色々あって、ページ遷移間の情報取り回しが楽で「会話的」なWebアプリが作りやすい)。
  4. 今月Grails 1.0が出るよ。
  5. IntelliJのJetGroovyプラグイン
  6. GWT, DWR, JMSなどのJavaの人が関心があるテクノロジーをGrailsに統合するプラグインシステム。
  7. 活気があって成長中のコミュニティ。メーリングリストはトラフィックが多くて、停滞してるのとは逆だよ。
  8. 究極のエンタープライズ統合(EAI)技術であるところのSpring上に構築されている。
  9. 自動トランザクション境界と、トランザクションスコープをサポートしたサービスレイヤ。
  10. 多くの本が出版予定で、あなたに近い企業組織に採用されるだろう。

いやまあ日本の事情とはちがうところもありますし、特に「Railsからのスイッチ」の理由になってない点も散見されます。まあ翻訳ということで。