社内プロジェクトですが、サーバーサイドの知識ほとんどないボクがRuby on Railsを使ってWEBアプリケーションを構築してみた。
内容として一日の行動記録。要は日報アプリケーション。
一日のタスクとそれに費やした時間を記録。
さらに個々のdeliciousアカウントをAPIを使って読み取り、共有したいブックマークを会社のdeliciousにRepostすることができるブックマーク共有機能。
一日の感想コメントと、メッセージチェーン機能(一つ前に日報を書いた人の言葉がみれる。次の日報を送る人に一言コメントが送れる)があり、
それらを送信すると社内の日報としてメールが送信され、アーカイブを閲覧、ダウンロードできるといったものだ。
Ruby on Railsを選んだ理由
ボクは今までHTML, CSS, JavaScriptを中心にやってきたんだけど、これらはどうにも限界があった。
つまりボクの考えるWEBというものとは実は無縁の技術だったのだ。それはFlashも同じ。
端的にボクの見ているWEBにサーバーサイドがないとどれだけつまらないものになるかということだ。
mixiやYouTube、Twitter、はてな、このブログもそう。Google検索ももちろんサーバーサイドが提供してくれた。
そこでサーバーサイドをやろうと思う訳だが、JavaScriptしかプログラムのわからないボクにとってPHPはとても壁が高かった。
それこそちょこっとした1アクションくらいならPHPでなんとかする事はできるけどアプリケーションを構築するとなると、ホントお手上げ状態。
そこでフレームワークという言葉に出会う。そしてそれがRuby On Railsだったというわけ。
Ruby on Railsの壁
まずRuby on Railsの壁としてRubyという言語がある。
ドキュメントが少ない。さらに動くサーバーがない。
Rubyが動けばいいかというとそういうわけではなく、このフレームワークは敷居が高い。
ドキュメントに関しては、まずはてブのrailsタグを購読することにしたのと、本を数冊購入した。
中でも最初のRails of Ruby on Railsは良書だった。とにかくRailsに触れる・作るということに徹底していて、よくわからないけどRailsすごい!って気分にしてくれる。
ごちゃごちゃした説明はほとんど省いていて、写真や図をふんだんに使いとにかく楽しい。
初めてのフレームワークということもあり、それらの概要を感覚的につかむのにはとても良かった。それこそ一日でそのままソースを書いていけばブログができてしまった。
Rails体験ツアーって感じです。
次は「たのしい Ruby」「Rubyレシピブック」「Railsレシピブック」シリーズ。ボクのRails三原色。
楽しいRubyはRubyの文法などを知る事ができた。要はオブジェクト指向のドットシンタックスだということでJavaScriptできると似ている部分も多くためになった。
さらにRailsレシピブックはぼろぼろになるまで読んだ。ドッグイヤーしまくり。
サーバーは最終的にPassengerを使う事にした。理由は簡単だからだ。
mod_railsと言われるだけあって、PassengerをサーバーにインストールするだけでRailsの環境を構築できる。
本格的に構築するとなるとlighttpdを使った方がいいみたいですね。でもここに時間をかけるのだけは避けたかった。
社内プロジェクトなのでMac G4にPassengerを入れて運用することにした。
また、このHOKYPOKY.は海外のDreamHostを借りた。
国内でサービスとして運用したい場合はラピッドサイトのVPSなどを借りるのが良さそうだった。
SQLite
Railsとは少し話がそれてしまうんだけれども、SQLiteというデータベースにも惚れた。
それこそ大規模になってきたらいろんな知識が必要になってくるとは思うのだけれど、SQLiteの手軽さといったらない。
DBを作成しなくていいとか、ファイルをコピーすればそのままデータもコピーされるとかほんとにすばらしい。
とにかくポータブルであることと、DBがどうなっているかみるのに凄く役にたった。
そしてFirefoxのアドオン、SQLite Managerにはお世話になりました。
流行
流行というものの力にもお世話になった。要はRuby on Railsはホットなのだ。
ブックマークされているサイトたちのみんなのテンションやモチベーションが高く、新しい事への挑戦、困難な事への共有、またニュースにも話題が多いのでとにかく飽きない。
まだ正式リリースはされていないが、Rails3.0のMerbとの統合についてなどは近年のフレームワークにおいてとても興味深いニュースとなって、フレームワークを取り巻く環境全てがホットだった。
感謝
HTMLコーダーである自分がWEBアプリケーションを構築することができたのには、もちろん自分の中で興味があり挑戦していくこともあったのだが、一番は様々な人のおかげ。
特にプロジェクトとして認めてくれたマネージャーには感謝です。
また、Feedに登場してきた全てのRails関係者の皆さんにも多大な感謝。
まだまだこれから覚えていかないと行けない事も多いし、これからは自分がそういった歯車の一部になっていけるよう精進したいと思いました。
こまかい話
は、これから続きとして書けたらいいなと思います。