簡単なWebサイトなら生PHPとかでいいんだけど、「Webアプリ」とか言われたらはてさてなにで作ろうかと。

PHPフレームワークとか使う気にならんし、expressやsinatraじゃ物足りないし、かといってtowerやrailsじゃやりすぎな気がするし。

そんなこんなで、たまたまWeb+DB pressに載ってたPadrinoを使ってみることにした。

Padrinoを使う利点としては

  • ふるすたっく(といっていいのかわからんが
  • 各種ジェネレータがある
  • Railsっぽいディレクトリ構成
  • 管理画面を作るのがラクチン
  • プロジェクトテンプレートが書ける

とかね。

インストール

$ gem install padrino

プロジェクトの作成

$ padrino g project todos

railsみたいな感じ。

mongodb使おうと思ったけど最近のmongoidだとうまくいかないとか、hamlとかキショイって感じで以下のように生成した。もちろんmongodbはローカルで動いてるという前提でお願いしたい。

$ padrino g project todos -d mongomapper -e erb todos
$ cd todos
$ bundle install

モデルの作成

とりあえず、titleとcompletedだけを含むモデルを作成。

$ padrino g model todo title:string completed:boolean

padrinoにもconsoleコマンドがあるので、動作は簡単に確認できる。

$ padrino c
> Todo.new(:title => 'hello').save
> Todo.all

管理画面を作る

$ padrino g admin
$ bundle install

管理用のアカウントはrake seedで作成。

$ padrino rake seed

サーバを動かして動作を確認。

$ padrino s
$ open http://localhost:3000/admin

さっき作ったモデルの管理ページを作成。

$ padrino g admin_page todo

簡単。

長くなってきたのでとりあえずここまで。まだコード書いてないけど。