「Widget Press introduces ModelBaker 1.0: Rapid Application Development」というプレスリリースに「コードを書かなくても iPhone / iPod touch や Android 用の Web アプリケーションが作れちゃうアプリをリリースしたぜ!」(意訳)と書かれていたので、気になってちょっと見てみた。
そのソフトウェアの名前は「ModelBaker」。本体は Mac OS X 用のアプリケーションなので、最初はファイルメーカーのようなイメージなのかな?と思ったら全然違っていた。ModelBaker は、「CakePHP を使った Web アプリケーションを GUI で作成できる」という製品だった。
ModelBaker では、MVC(Model / View / Controller)をマウス操作で作成することができる。Model であれば、そのモデルに内包されるアトリビュート名称とデータ型を指定し、さらにバリデーションの内容も指定できる。モデル間の関係(HasOne / HasMany / BelongsTo / HABTM)も GUI で設定でき、その関連は UML 的な表現でグラフィック表示してくれるので、分かりやすい。
コントローラに関しても設定できるようだが、ModelBaker 上ではコードの記述ができないので、スケルトン的な記述に留まるようだ。
また、ビューに関しても基本的な設定だけで、細かなカスタマイズはできない様子。
モデルの設定には強いけど、コントローラやビューは弱いので、名前が ModelBaker なのかも知れないな。
で、MVC の設定が終わったら、次は「Build」という流れになるのだが、そのまえに「Setting」で Build Path を設定しておかないとエラーになってしまう。
Build Path の設定が終わったら、おもむろに右上の「Build and Go」をクリックすると、指定したパスに CakePHP のアプリケーションが書き出されるという動きになる。
実際に書き出されたファイルはこんな感じ。
$ pwd /Users/suzuki/Sites/modelbaker_test $ ls -lFa total 24 drwxr-xr-x@ 8 suzuki staff 272 1 7 22:02 ./ drwxr-xr-x+ 11 suzuki staff 374 1 7 22:01 ../ -rw-r--r--@ 1 suzuki staff 139 6 15 2006 .htaccess -rw-r--r--@ 1 suzuki staff 1158 12 26 08:21 README drwxr-xr-x 16 suzuki staff 544 1 7 22:02 app/ drwxr-xr-x@ 11 suzuki staff 374 1 7 22:01 cake/ -rw-r--r--@ 1 suzuki staff 1281 1 7 22:02 index.php drwxr-xr-x@ 5 suzuki staff 170 12 26 10:15 vendors/
CakePHP を触ったことがある人なら、見慣れたディレクトリ構成だろう。要するに ModelBaker では、CakePHP でアプリケーションを作成するのに必要なファイル(models / controllers / views ディレクトリ以下に記述するファイル)を GUI で設定した通りに自動記述してくれるのだ。
CakePHP 標準添付の bake コマンドでスケルトン作成も良いけど、こういった GUI での操作の選択肢があるのはアリかも知れないなぁ。
で、iPhone / iPod touch / Android の話はドコよ?と思った訳だが、どうやら iUI を使って実現するらしい。Settings の中にある「Include Apple iPhone & iPod Touch and Google Android version of web application」というチェックボックスをチェックすると、iUI も書き出される、という仕組みの模様。