Grailsの登場でRuby on Railsに移行する理由はなくなった

とか極端なことを書いちゃうと、またいろいろ怒られるわけですが。
Grailsによって、少なくともJavaプログラマRuby on Railsに移行する理由はなくなったと言ってもいいのではないでしょうか。そして、JavaRubyも知らない人にとっても、今からWebアプリを作成するためにどちらかを選ぶならRuby on RailsよりもGrailsのほうがいいのではないかと思います。


Grailsの価値は、もちろんRuby on RailsのようにWebアプリケーションが作成できることにあるのですが、Ruby on Railsのようなフレームワークというのは他にもあります。
実運用を前提に考えると、Grailsの本当の価値は、Java VMで動くこととSpring+Hibernateがベースになっていることであると思います。つまり、SpringやHibernateといった、Javaの世界で定評があり、実装もかなりしっかり作られているフレームワークをベースとしていることに意味があると思います。
Grailsというのは、Spring+HibernateのアプリケーションをRailsのように書けるラッパーであると言ってもいいかもしれません。
政治的な理由としては、IBMが結構本気でやってるというのも大事なところです。


Ruby on Railsは、プログラムを書くのは簡単だけど運用するのは大変なフレームワークだという認識をもっています。
まず、やはりまともに動くアプリケーションサーバーがないということです。Glassfishなど、Javaアプリケーションサーバーと比較してという意味です。
また、トランザクションやキャッシュの制御も弱いのではないかと思います。こういった、実案件でほしくなる細かい制御というのが、やはり弱いのではないかと。
JRuby on Railsを使ってGlassfishで動かすという選択肢もありますが、やはり本流ではないという不安感はあるし、Glassfishで動かすなら無理してJRuby on Rails使うよりはGraisじゃねぇの?と。


GrailsはORマッパはHibernateなので、キャッシュの設定や、分散キャッシュサーバーを利用するということも、Hibernateの機能としてできます。
また、DIコンテナはSpringなので、堅く書きたい部分はJavaで書いてDIを行うということもできます。
サーバーにはもちろんTomcatGlassfishJBossが使えます。


すでにRuby on Railsが使える人が無理にGrailsに移行する必要はないと思いますが、Ruby on Railsを使ったことがなくてRuby on Railsの利用を考えているならば、Grailsも考えてみるといいと思います。
少なくともJavaを使っている人にとっては、Ruby on Railsに移行する理由はなくなった思います。