Grails
アジャイルWebアプリケーション開発環境Grails/Groovyの資料室
Grailsとは
Grailsは次のような特徴を持つWebアプリケーション開発フレームワークです.
GroovyとJavaの上に構築されている
- GroovyはJavaとほぼ完全な互換性を持つ, 動的オブジェクト指向言語である
- 静的な型付けと動的な型付けの両方を使い分けることができる
- Groovyのメタ・オブジェクト・プロトコル (MOP) を最大限に活用している
Webアプリケーション開発のためのフレームワークであると同時に, 他のフレームワークを統合するためのメタ・フレームワークでもある
- Javaの多くの成熟したフレームワークを自然に再利用することができる
- 実際にSpring, Hibernateを中心として, 多数のJavaフレームワークから構築されている
- それ以外のフレームワークもユーザが簡単に組み込むことができる
プラグイン機構を持ち, Grails自身が多数のプラグインの集合として構成されている
- DSL (ドメイン特化言語) を用いて, Webアプリケーションのさまざまな側面を宣言的に記述することでアプリケーションを組み立てる
- プラグインをユーザが容易に作成, 追加することができ, 多くのプラグインが流通している
- プラグインはアスペクト指向のコンポネントなので, 依存性が低く, 簡単に組み合わせることができ, 開発資産となる
アジャイル開発に適している
- 非常に生産性が高く, 変化に柔軟に対応できる
- DSLを用いて仕様を記述する役割 (問題領域寄り, シェフ) と, プラグインなどの仕組みを用いてDSLを定義/実現する役割 (解決領域寄り, コック) という分担が可能である
- ユーザに動くシステムを見せながら, 繰り返し的に開発するのに向いている
オープンソース製品 (Apache2) である
- 余計な取得費用, 保守費用を掛けることなく使える
- 万が一, 開発元が消滅したとしても自分たちでメンテナンスすることができる
- 内部にまで精通した, 大きなコミュニティが存在する
書籍
Grailsの詳細について現在日本語で読める唯一, 包括的な出版物は「Grails徹底入門」(山田他著, 翔泳社, 2008) です.
GrailsではJavaとGroovyという二つのプログラミング言語を用います (Groovyだけでも可能です). このうちGroovyの詳細についてのリファレンスとなるのが「Groovyイン・アクション」(D.Koenig他著, 関谷他訳, 毎日コミュニケーションズ, 2008) です.
Webサイト
Grailsの本家はhttp://grails.org/です. コンテンツの一部は (up-to-dateとは言えませんが) 日本語に訳されています.
ユーザーグループ
日本での活動の中心は日本Grails/Groovyユーザーグループ (JGGUG) です. 現時点では首都圏, 名古屋地区, 関西地区を中心に, 勉強会, ワークショップ, ニューズレター発行など活発な活動が行われています. JGGUGは 2009年2月に, http://groups.google.co.jp/group/grails-ja, grails code readingの活動を引き継ぐ形で発足した, 現在国内唯一のユーザーグループです. 日本Javaユーザグループ, 日本Springユーザ会などとも連携しています.
blog
以下のblogは日本語で比較的活発に書かれています.
資料
-
GrailsのRDBジャナイアレ
- 2010年12月9日, 第13回JGGUG G* ワークショップで, Grailsの非RDBデータストアについて話しました
-
GrailsによるアジャイルなWebアプリケーション開発
- 2010年7月9日, オープンソースベンダーフォーラム長崎からご招待いただき, Grailsのような新しい技術と考え方をアジャイルなWebアプリケーション開発に適用し, ソフトウェア開発そのものの新しい方法を考えるための講演を行いました.
-
言語, 認知, 領域からのソフトウェア構築 - Grailsをベースとして
- 2010年4月19日, QCon Tokyo 2010での講演
-
Interactions
- Groovy/Grailsの振る舞い駆動開発 (Behavior-driven Development, BDD) フレームワーク Spockの使い方 (邦訳)
-
Parameterizations
- Groovy/Grailsの振る舞い駆動開発 (Behavior-driven Development, BDD) フレームワーク Spockの使い方 (邦訳)
-
SpockBasics
- Groovy/Grailsの振る舞い駆動開発 (Behavior-driven Development, BDD) フレームワーク Spockの使い方 (邦訳)
-
Grailsを選択する理由
- 2009年5月26日, JGGUG (日本Grails/Groovyユーザーグループ) 名古屋支部の第1回イベントで「Grailsを選択する理由 - Webアプリケーション構築にGrailsを使うとなぜ得するのか?」というお話しをしました. その時の資料です.
-
Grailsがもたらすソフトウェア開発の新しい視点
- 2009年4月21日, 日本Javaユーザ会 (JJUG) の恒例クロス・コミュニティ・カンファレンス 2009 Springで, ショート・プレゼンテーションを行いました.
-
日本 Grails/Groovy ユーザーグループ (JGGUG) 始動
- 2009年2月12日, 日本Grails/Groovyユーザーグループを立ち上げました.
-
EM ZERO No.2発刊
- 2008年11月24日, エンジニアのためのフリー・ペーパーEM ZERO No.2が発行されました. "Groovyの「動的って動よ」" (山田) が掲載されています.
-
pluginの仕組み
- 2007年10月31日, 第4回grails code readingでGrailsのプラグインの仕組みについて, ざっとコードを見ながら解説しました.
-
Grailsのビュー技術
- 2008年1月28日, 第7回grails code readingでGrailsのビュー回りを読んだときの解説です
-
grailsとは何かを30分間で理解する試み
- 2008年4月30日, Japan Javaユーザーズ・グループ主催のクロスコミュニティ・カンファレンス2008春のセミナで, Grailsを紹介しました
-
日常会話的モデル駆動開発 - grails入門
- 2007年6月27日, ソフトウェア・シンポジウム2008 in 新潟のモデリング・ワークショップ・チュートリアルで, アジャイルなWebアプリケーション開発環境 Grails を (堅苦しくて重い既存のモデル駆動開発ではなく) 日常会話的なモデル駆動開発という視点から解説しました.
-
grailsがやってきて私の耳にそっと囁く
- 2007年11月27日, 第10回澁谷鮫でのgrailsの紹介です. grailsを用いた有効な開発方法として「雪だるま式開発プロセス」を提案しています

