Grails 1.0リリースおめでとうございます。ということで、
http://xmldo.blogspot.com/2008/01/railsgrails.html
で紹介されている記事を翻訳してみました。
Railsを2・3年エンジョイした後では、GroovyとGrailsを試すのも心理的抵抗があって大変でした。しかし、今回の契約では他の選択肢をチェックする必要があったので、見てみました。結果的には大収穫でした。以下はRailsからGrailsにスイッチしたくなるかもしれない理由です。
- GORMつきのhibernate/spring,jpaは、ActiveRecordよりかなり良い。
- 配布の問題がない。製品レベルのコンテナで動くから。
- すぐに使える国際化(DHHが特にやったような無視をしてない)。
- 実際に動くトランザクション(含むセーブポイント)。
- ダイナミックファインダーとカウンターだけじゃなくて、ダイナミックlistOrderByとか。
- グリーンスレッドじゃない(Ruby 2.0では2010年ぐらい?に修正されるかもしれないが)
- すぐに使える悲観的ロック
- 真の生命を持ったプリペアードステートメントと.withCriteriaメソッド
- モックとスタブで作られた製品レベルのテストレポート。
- Luceneベースの検索操作(プラグインで提供)
これらのすべてが、非Javaプログラマには意味は無いでしょう。また、もし私がRails and Rubyの経験がなければ、Grailsの習得にはもっと時間がかかっていたでしょう。
一つ思ったことは、Railsでの開発を真の喜びにしてくれていた価値ある大量のgemsのリストをあきらめなくちゃならないだろうなあ、ということ。でも、apacheやjava sourceやspringやhibernate、そしてSunから(glassfish)のオープンソースのリストを見直してみたら、無かったら悲しくなるようなgems は思いつかないな。
以下、Graeme Rocherによる、彼のブログでの追加。補足もしてるので元ページも見てください。
- ひどくないビューテクノロジー(訳注:ひどい(Suck)といってるのはJSPのことだと思う)
- ジョイントコンパイラがあるのでGroovyとJavaの混在開発は簡単だよ。(性能問題があったときにCレベルに降りて解決しなくてもいいんだよ;-)
- Web Flowによるビルトインのリッチカンバセーション(訳注: Web Flowだとスコープが色々あって、ページ遷移間の情報取り回しが楽で「会話的」なWebアプリが作りやすい)。
- 今月Grails 1.0が出るよ。
- IntelliJのJetGroovyプラグイン
- GWT, DWR, JMSなどのJavaの人が関心があるテクノロジーをGrailsに統合するプラグインシステム。
- 活気があって成長中のコミュニティ。メーリングリストはトラフィックが多くて、停滞してるのとは逆だよ。
- 究極のエンタープライズ統合(EAI)技術であるところのSpring上に構築されている。
- 自動トランザクション境界と、トランザクションスコープをサポートしたサービスレイヤ。
- 多くの本が出版予定で、あなたに近い企業組織に採用されるだろう。
いやまあ日本の事情とはちがうところもありますし、特に「Railsからのスイッチ」の理由になってない点も散見されます。まあ翻訳ということで。