倭マン's BLOG

くだらない日々の日記書いてます。 たまにプログラミング関連の記事書いてます。 書いてます。

はじめての幻獣 Griffon 研 (1) : プロジェクトの生成 create-app

はじめに


Groovy ベースでデスクトップ・アプリケーション(概ね Swing アプリケーション)を作成するフレームワーク Griffon を試してみることに(一覧)。

Griffon の Quick Start にあるサンプルはちょっとショボそうなので、『Groovyイン・アクション』 Chapter 8 に載っている「関数描画アプリケーション」を Griffon で作ってみることに。

使用する Griffon のバージョンは 0.9.2-beta-1 とします。

Griffon のインストール


Griffon のインストール方法は概ね以下の通りです(詳細はこちらを参照):

  1. Griffon のアーカイブをこちらからダウンロードして、適当なフォルダ上に展開する
  2. 展開したフォルダを環境変数 GRIFFON_HOME に設定する
  3. (もししていないなら)Java をインストールしてあるフォルダを環境変数 JAVA_HOME に設定する
  4. ${GRIFFON_HOME}/bin環境変数 PATH に追加する

プロジェクトの作成 create-app


まずは Griffon でアプリケーションを作成するプロジェクト(以下、Griffon プロジェクト)を作成しましょう。 Griffon プロジェクトを作成するためには create-app コマンドを実行します:

griffon create-app [name]

[name] の位置にはプロジェクト名を記述します。 以下、いくつかのパターンを試した結果を載せます:

[name] に指定する文字列 ルートフォルダ ルートパッケージ デフォルト MVC*1
FunctionPlotter FunctionPlotter functionplotter FunctionPlotter
function-plotter function-plotter function.plotter FunctionPlotter
my.sample.FunctionPlotter my.sample.FunctionPlotter my.sample FunctionPlotter

Griffon の Quick Start では1番上のものが使われています。 まぁ別にそれで困ることがあるわけではないので、そのままでいいんではないでしょうか。 この記事でもそれを使います。

生成されるフォルダ構造


コマンド

griffon create-app FunctionPlotter

を実行した際に作成されるフォルダ構造は以下のようになります:

  • FunctionPlotter
    • griffon-app
      • models
        • functionplotter
          • FunctionPlotterModel.groovy
      • views
        • functionplotter
          • FunctionPlotterView.groovy
      • controllers
        • functionplotter
          • FunctionPlotterController.groovy
      • othrers
    • others

MVC クラスに関連するフォルダ以外は省略しています。

追記 その1


Griffon 0.9.3 (以降?)を使用する場合は

griffon create-app functionPlotter

のように、プロジェクト名を小文字で始めないといけないようです。

追記 その2


Griffon 0.9.5 では

griffon create-app org.waman.functionPlotter.FunctionPlotter

と実行すれば

  • FunctionPlotter
    • griffon-app
      • models
        • org
          • waman
            • functionplotter
              • FunctionPlotterModel.groovy
      • views
        • org
          • waman
            • functionplotter
              • FunctionPlotterView.groovy
      • controllers
        • org
          • waman
            • functionplotter
              • FunctionPlotterController.groovy
      • othrers
    • others

というフォルダ構造が作成されます。

Groovyイン・アクション

Groovyイン・アクション


Griffon in Action

Griffon in Action

*1:これは正式な名称ではありません。