簡単にWebアプリケーションが作れるという、近頃流行りのRuby on Railsを試してみた。
まずは、「Rolling on Ruby on Rails - Japanese Translation」あたりを参考に動かしてみる。
データベースにレコードを追加・表示・編集・削除する程度の単純なWebアプリケーションなら、とりあえず動くものがコーディングなしですぐに作れてしまうところは凄い。
というわけで、日記を書くWebアプリをRailsで作ってみた。
1. データベース(私はMySQLを使った)に日記のテーブルを作成
# 例えばこんなSQL文でテーブルを作る create database diary; create table entries(id int not null auto_increment primary key, date date, title varchar(100), content text);
2. Railsのコマンドで空のアプリケーションを作る
> rails diary
3. database.ymlに記述してあるデータベース接続の設定を編集
development: adapter: mysql database: diary username: root password:
4. Railsのスクリプトで、テーブルentriesを処理するプログラムを生成する
> ruby script\generate scaffold Entry
以上で作成完了。作成したアプリケーションを動かしてみる。
5. 動作確認のためのRailsに付属のWebサーバを起動する
> ruby script\server
6. Webブラウザで作成したアプリケーションのURLを開く
http://localhost:3000/entries/new
7. あとはアプリケーションを試すなり、プログラムを改良するなりご自由に
これだけで動くものができてしまう。作成したアプリケーションは最低限の表示と処理しかないので、実際に使えるものにするには、プログラムを変更することになる。この辺りはRailsやRubyのコーディング知識が必要なので、ちょっと敷居が高いかも。しかしそこでまた便利なのが、モデル(データベースのテーブル定義)、ビュー(Rubyのコードを埋め込んだHTMLファイル)、コントローラ(ロジックを書いたRubyコード)のいずれかを変更すると、サーバを再起動することなくその場で動作確認できるところ。Java Servlet/JSPだと、せいぜいビュー(JSP)の変更がすぐに動作確認できるくらいだし(IDEやWebコンテナ、フレームワークの組み合わせによっては、モデルやコントローラもできるのかもしれないが)。
気軽にコードを変更して試せると、機能追加もデバッグもやりやすい。この辺りは、すぐに動くものを作りたいようなプロジェクトや、趣味でプログラミングしている人、新しくRailsを勉強する人とかにとっては嬉しい特長だと思う。
複雑なデータ構造を扱うアプリケーションをRailsで作ろうとするとどうなるかは未知数だが、単純なデータを扱うようなアプリケーションを一から作るには、Railsは強力なツールになりそうな感触。