JGGUG(Japan Groovy/Grails User Group)の総会とスペシャル版G*ワークショップが2010年7月24日土曜日14:00から18:00に行われた。会場は日本オラクル㈱青山センター。ちなみに筆者は日頃GroovyやGrailsを使うことはないため、本報告はあくまで外部の視点からとして読んでいただきたい。
総会報告後のG*ワークショップでは、GroovyServ、Grails 1.3、Griffon、そしてSpock等がとりあげられた。ちなみに、G*というのは、Groovy,Grailsを総称してという意味である。
参加者は、土曜ということもあり開始時点で20名強といったところだったが、会が進むに連れじわじわと増えてきたようだ。仙台、新潟、大阪などからの参加者もおりコミュニティとしての広がりを感じた。
JGGUG初の総会開催にあたって、山田正樹(メタボリックス)会長の挨拶の後、GroovyのプロジェクトマネージャGuillaume Laforgeがパリの自宅から送ってくれたビデオメッセージが流された。彼は2003年からGroovyの開発に関わっておりGrailsの立ち上げメンバーの1人でもある。AppEngineの軽量ツールキットであるGaelykの作者だ。
なお今回のイベントでは人手の関係で、ustream配信はなかったようだが、希望が多い場合は再開するということで参加者にアンケートをとっていた。
ワークショップの全容は以下になる。
「最速起動Groovy---GroovyServ Under The Hood---」
発表者:上原潤二、中野靖治(NTTソフトウェア)
「真のGroovyパワーを解放せよ」というミッションを目指した、GroovyServプロジェクトの発想と限界への挑戦、その裏話、苦労話、 koboプロジェクトについて。
「Grailsのススメ(仮)」
発表者: 山本剛 (ニューキャスト)
ここのところリリースラッシュのWebフレームワーク「Grails」。Grailsのクイックスタートから、Grails 1.3.x+αな最新情報、個人的注目プラグイン情報等を紹介。
「Griffon in Practice」
発表者:奥清隆(株式会社クロノス)
GrailsライクなデスクトップアプリケーションフレームワークGriffonの入門から少し突っ込んだ内容まで、デスクトップアプリを楽しく作れる方法。
「G*におけるソフトウェアテスト・シーズン3~めぐりあいOra編~」
発表者:綿引琢磨(デライトテクノロジーズ)
前回に引き続きSpockを用いたBDD、最新のspock 0.4の機能について解説。また、今回はGrailsでの使用方法やJavaアプリケーション開発でのspockの適用方法についても紹介。
Grailsとは(山本氏の言葉を借りて)簡単に言うと、Springフレームワークを、Groovyでダイナミックに柔軟にして、Webアプリケーション開発をするフルスタックフレームワークということになる。そしてその柔軟さダイナミックさが半端でないため、これからのソフトウェア開発に大きなインパクトをもたらすとJGGUGのメンバーは強く思っている、ということが今回のイベントに参加してみてよくわかった。
ワークショップで興味深かったセッションの一つが、NTTソフトウェアの上原、中野両氏によるgroovyservのセッションだ。社内のOSSプロジェクトの成果の1つで、世界最速起動のGroovyを目指して作られた常駐起動型のGroovyサーバで、スクリプト起動に通常だと数秒かかるところを、なんと0.1-0.2秒という驚異的なスピードで起動するというものだった。筆者が翻訳したコップ本ことMartin Odersky『Scalaスケーラブルプログラミング』への小飼弾氏の書評(http://blog.livedoor.jp/dankogai/archives/51275491.html)においても、Scalaは美人の言語だと全般に評価された上でJVMを使っておりスクリプト言語としての起動が遅いことが唯一の弱点と指摘されていた。Groovyにおいても当然同じ弱点を持つわけだが、そこをGroovyServで解決しようという試みだ。デモを見た感じでは実用性があり、世界的にもGroovyの領域で普及を期待できるものだった。
@nobeansこと中野氏からは、groovyserv内部実装の話があった。UMLのクラス図とシーケンス図を縦横に使っての詳細な仕組みの話は、こんなに複雑なことをしてスピードを稼いでいるのかと非常に興味深いものだった。詳しくは公開されている資料を参照していただきたい。
@tyamaこと山本氏の「Grailsのススメ(仮)」副タイトル「天は人の上に人を造らず、人の下に人を造らず」は内容が盛りだくさん過ぎてここでは紹介しきれないが、いずれ書籍として出版したいとのことなので、興味のある方は期待してほしい。筆者としては、山本氏の考える「Grailsの思想」をコンパクトに解説してもらい非常に勉強になった。「柔軟さを犠牲にせずシンプルさをアーカイブ」するという発想のもとで造られたGrailsは、「形を変えたSpring-MVC」「フレームワークでありながら、他のフレームワークと共存し、さらにフレームワークを開発して派生できる」ということだ。アプリケーションを造ればそれがプラグインになり、簡単に部品として流通できるという点が共通語彙として機能し、DSL駆動開発にもなじむ。現在1.3というバージョンがリリースされ、さらなる進化が期待される。
奥氏のGriffonの話や綿引氏のソフトウェアテスト(BDD/Spock)のセッションも興味深いテーマだったが、残念ながら筆者の都合でゆっくりと聞くことができなかった。
ワークショップ後の懇親会では、LT(Lightning Talk)大会も行われ、G*技術への熱い思い、Griffonを使ったライブデモ、開発現場での悩み、とっておきのネタが披露された。詳しくはTwitter等でフォローして欲しいが、JGGUG関係者のレポートもhttp://d.hatena.ne.jp/ksky/20100726/p1にアップされている。発表資料もまとめて公開されているので興味のある方はアクセスしてほしい。
Groovy本家との交流など海外との連携をとりつつ、GroovyServなど日本からの情報発信も今後期待されるなど、言語/フレームワークのコミュニティ活動として活発に運営されるJGGUG。メンバーの熱い思いを感じた印象的なイベントだった。これからのより一層の飛躍を期待したい。