なんとか惚れ込んだGroovyでサクサクWeb開発できないものか・・・。 軽量WebFWその1 : graffiti - [groovy][Graffiti]さらにもう一つのGroovyベースのSinatraライクwebアプリフレームワーク Graffiti - uehaj's blog -- http://uehaj.hatenablog.com/entry/20111008/1318081411 - Graffiti is a Sinatra-inspired Groovy Framework « Gooder Code - web development blog, php, java, asp.net, html, javascript -- http://www.goodercode.com/wp/graffiti-is-a-sinatra-inspired-groovy-framework/ - webdevwilson/graffiti -- https://github.com/webdevwilson/graffiti →そもそもビルドとかうまくいかない。gradleで取ってこようにもリポジトリにUPされてないのか取ってこれない。最近ビルドツールがMavenからGradleに変わったばかりで、ちょっと不安定なのかもしれない。今後に期待、と言いたいところだけれど実用に耐えうるアーキテクチャになっているかと言われると疑問符。 軽量WebFWその2 : ratpack - Create Lightweight Groovy Web Apps with Ratpack -- http://jameswilliams.be/blog/entry/207 - bleedingwolf/Ratpack -- https://github.com/bleedingwolf/Ratpack - tlberglund/ratpack-template -- https://github.com/tlberglund/ratpack-template →まだ評価してないが、こちらもSinatraベースっぽい。templateプロジェクトがある分、graffitiよりは安定してるのかな、という感じもするがまだ動かしてすらいないのでなんとも。 重量級WebFW : Grails - 現在実務で評価中。日本語情報が足りないし色々と地雷も潜んでいるようなのだけれど、Rails系の知識である程度地雷も回避できなくもない。 - Grails-2.1系を現在試用中だが、ソースコードが変更されたら自動的にコンパイルしてリロードしてくれるのがありがたい。 - 実は探してるのは「IDEが無くともなんとかエディタだけでも頑張れるWebFWおよび実行環境」なので結構重要な縛りになってる。Grailsの場合は"grails-app/"以下のコントローラなどのファイルだけでなく、"src/groovy/"以下の、Grailsとは関係ない外部のソースツリーについても変更したら勝手にコンパイルしてくれるので、ちょっとした変更ならコンテナの再起動が不要。 - 短所としては重量級なので、コンテナの起動("grails run-app")が激重。SSD使っていても10秒以上かかる。 - しかし、GSP(Groovy Server Pages)が単体ではなくてGrailsに取り込まれてしまった現在、GSPでJSP TagLibなどの資産を取り込もうとするとGrails以外に多分選択肢は無いかも・・・。(graffiti, ratpackともにGSPをviewに使える情報は未調査。 超軽量級(WebFWを使わない) : GroovyServletとTemplateServletなどgroovy本体に添付の機能だけを使う - ".groovy", ".gsp"についてはGroovyServlettとTemplateServletにより、「変更したら即時反映」が約束されている、おまけにJettyコンテナ起動するのもgroovy添付のクラスなので超軽量級。 - 短所としてはJSP TagLibが使えない(かもしれない)、また通常のJava/Groovyクラスライブラリ系のソースは自分でコンパイルしてコンテナをリロードしないと多分ダメそう。 - とはいえ、Jetty/Tomcatのコンテナなら".class"が更新されたら自動リロードする設定も可能。なので、ビルドスクリプトをantとかgantで組んでしまうことで、"1. ant/gantで一旦コンテナを起動" -> "2. ant/gantでビルドするたびにコンテナが勝手にリロード" -> という流れでエディタだけでもサクサク開発イケるんじゃないかと考えている。