今回のテーマは「Ruby on Rails」

2006年あたりから急速に注目が集まり、今なお熱い「Ruby on Rails」。2008年に入り、今年こそははじめてみようと考えている方も多いのではないだろうか。しかし、Ruby on Railsを使うことと、他の言語を使うことに、そこまで大きな違いはあるのだろうか。

それは触ってみるまでは分からない。ただ、Scaffoldを使って簡易的なデータベースを作り、触れてみる程度では駄目だ。やはり何かをイチから作り上げることで、はじめてRuby on Railsの魅力を感じられるようになる。今回はそんなRuby on Railsの魅力を垣間見ることができるWebアプリケーション、オープンソースソフトウェア(OSS)を紹介したいと思う。

今回紹介するOSS・Webアプリ
Shopify』 Eコマースサイト構築Webアプリケーション
Instant Rails』 Windowsユーザ向けRails環境構築ソフトウェア
Rosters』 開発の参考にもなるRails製シフト管理
Reviewable Mind』 タスク管理もRailsで



無料で作れるEコマースショップ

名称 Shopify
URL https://www.shopify.info/

『Shopify』はRuby on Railsを使って構築されたWebアプリケーションで、ベーシックプランであればユーザ登録するだけで自分だけのEコマースショップを構築することができる。デザインが多彩で、ブログのような感じで商品を登録していけば良いだけだ。決済システムも用意されており、例えばPaypalやGoogle Checkoutなどを簡単に指定できる。

Shopifyのトップページ。すでに多数のEコマースサイトが構築されている

個人間の取引はインターネットを通じて広がりつつある。オークションを利用している人も多いだろうが、独自のEコマースショップはさらに自由度が高くなる。システムの用意やホスティングのこと、ユーザ情報の管理などを考えだすと、本来の目的であった販売する気分さえ萎えてしまう。だが、Shopifyを使って即座にはじめられれば、物を売買するということがもっと身近になるはずだ。

「Shopify」で作ったEコマースサイトの例。ブログ風のデザインもある

Shopifyでは日本語版は提供されていないが将来的には分からない。さらにいえばRuby on Railsを使って日本向けに同種のサービスを開発してみるのだっていい。まずは触ってみてほしい。

こちらはShopifyの管理画面。ここから簡単に商品を追加できる




Windowsで簡単にRailsを始める

名称 Instant Rails
URL http://instantrails.rubyforge.org/wiki/wiki.pl

さて、ではRailsを使って開発を始めてみたいと思った時には何をすればよいだろうか。Windowsユーザであれば、Rubyをインストールして、 MySQLをインストール、さらにApacheもいるかも知れない。そこまで終わってようやくRailsをダウンロード……では手間がかかりすぎる。これでは始めようという気も沈んでしまう。

そこで試してみたいのが『Instant Rails』だ。これはZipファイルで提供されているソフトウェアで、解凍して即座に開発が始められるという優れものだ。70MB弱とダウンロードサイズは大きいが、一度ダウンロードしてしまえばもう問題ない。Rubyはもちろん、ApacheやMySQLも同梱されており、Instant RailsのGUI管理インタフェースから起動、停止ができる。後はテキストエディタとブラウザさえあればよいのだ。

「Instant Rails」の管理GUIウィンドウ。ここからApacheやMySQLの起動、停止ができる

アプリケーション管理画面。ここからアプリケーションを起動する

Zipファイルとあって、ポータブルにどこでも利用できる。USBメモリに入れて持ち歩ければ、いつでもどこでも開発ができるようになるだろう。

では、これ以降はRuby on Railsを使ったオープンソース・ソフトウェアを紹介しよう。オープンソースであればプログラムソースが見られるので、きっと参考になる点も多いはずだ。

サンプルアプリケーションとして登録されているブログシステムの「typo」。オリジナルアプリケーションも構築可能だ




Rails製のシフト管理

名称 Rosters
URL http://rubyforge.org/projects/rosters/

アルバイトなどを雇用すると発生するシフト管理。それを行うソフトウェアが『Rosters』だ。なぜかWeb2.0風なクールなインタフェースになっている(悪い訳では全くないが)。何となくシフト管理、というとアナログが印象があるのだがRuby on Railsで作られ、さらにクールなインタフェースを持ち合わせていると、とても格好のいいものに見えてくるから不思議だ。

「Rosters」のカレンダー画面。ここでシフトを確認したい週を選択する

操作は単純で、ユーザを管理し、持ち場を登録する。あとはユーザごとに何時から何時までどこに配置されるかという入力を行っていけばよい。従業員は自分のユーザIDでログインして、シフトを確認する。シフト表を印刷することも可能だ。

スケジュール一覧画面。Printボタンで印刷することができる

入力、更新、表示に加えてユーザの権限管理もあるので、基礎的な機能は揃っていると考えていいだろう。Rostersを参照すれば、Railsをもっと知ることができそうだ。

シフト編集画面。ユーザごと、日付ごとに持ち場を決定していく




Rails製の日本語向けGTDアプリケーション

名称 Reviewable Mind
URL http://rmind.g.hatena.ne.jp/

GTD(Getting Things Done)も2006年あたりから注目が集まっただろうか。今も継続してやられている方も多いだろうが、途中で挫折した人、これから始めようと考えている人もいるはずだ。そうした方は『Reviewable Mind』を使ってみるのはどうだろう。これならばローカル上でサーバを立てられるのでオフラインであっても利用できるという利点がある。

「Reviewable Mind」のトップ画面。シンプルな画面構成で分かりやすい

操作性も非常によく、各項目ともに分かりやすい。指定されたタグをつけることでメモにしたり、ToDoにしたりすることができる。日付形式のタグをつけるとスケジュールとして登録されるなど、多少のことを覚えてしまえばごく簡単に使えるようになるだろう。

Ajaxを多用しているのでスムーズな入力ができるとともに、Ruby on Railsを知る上での参考にもなるはずだ。こうしたAjaxを使いやすくしているのもRailsの特徴の一つで、様々に存在するRailsアプリケーションは多かれ少なかれAjaxを利用しているものが数多い。

特にReviewable Mindは日本の方が作られているので、日本語が問題なく使える点が便利だ。今年こそはタスクやスケジュールをきちんと管理していこうと考えている方はぜひ知っておいてほしい。

「Next Actions」の編集画面。Ajaxを使ったフローティングウィンドウで編集しやすい

こちらはタスクの編集画面。多少項目は多いが、基本は同じだ

いかがでしたか?

Ruby on Railsはフレームワーク自体がオープンソースということもあって、それを利用したWebアプリケーションの数多くがオープンソースとして公開されている。それだけに何か不明な点があっても、ソースから追っていくことで新しい発見につながることも少なくない。

また、プラグインの仕組みを使ったライブラリの配布も数多く行われており、タグ機能やコメント機能、認証の仕組みなど大抵プラグインで提供されている。これらを組み合わせることでさらに効率的にWebアプリケーションが構築できるようになっている点も見逃せない。

Rubyは先日バージョン1.9がリリースされるなど、まだまだ熱い話題になっている。この流れに乗ってRuby on Railsを知り、Webアプリケーションを開発してみてほしい。

著者プロフィール
MOONGIFT 中津川 篤司(なかつがわ あつし)
1978年生まれ。オープンソース紹介サイト「MOONGIFT」管理人。プログラマ、SE、ITマネージャを経て、オープンソースのビジネス活用を推進する。現在は独立し、Webサービスのコンサルティング、プロデュースを行う。