「Ruby on Rails」とは?

最近「Ruby on Rails」というモノを見かけることが増え、なんとなくプログラム民具言語の「Ruby」に関した何かなんだろうとは思っていたのですが、詳しく意味が分からなかったので調べてみました。

「Ruby on Rails」といえば、とりあえずオフィシャルサイトのRuby on Railsです。10年前だったら英語でもなんとか読んだと思いますが、2005年の今は日本語の情報が溢れているに違いないと思い、序文のようなところだけ読んでみたいと思います。

Rails is a full-stack, open-source web framework in Ruby for writing real-world applications with joy and less code than most frameworks spend doing XML sit-ups

なるほどね。楽しんでコードを書かずに「Ruby」のアプリケーションを書くことができる「framework」ですか。つまり「Ruby」で簡単にアプリケーションを作成するための“何か”のようですね。今度は「framework」というのが分からなくなりました。

少し調べてみると「framework」に関してこんな記事が。

はてなダイアリー – フレームワークとは

アプリケーションを開発する際のパターンのテンプレート

困った時のはてなダイアリーキーワードですね。

と、ここで今回「Ruby on Rails」に興味を持つきっかけとなったRuby on Rails: David Heinemeier Hanssonへのインタビューに触れておきたいと思います。Railsの作者であるDavid Heinemeier Hansson氏へのインタビューです。

Railsにはこだわりがあり、

ソフトウェアの古い考えを無視しています。古い考えとは「柔軟性」のことです——できるだけ多くのことに対応できるようにってやつですね。この考えそのものは批判すべきものではありませんが、Railsではこれを無視しています。

と述べています。

さらに「私がRailsの中に組み込んだ「黄金の道」に沿って開発を行えば、ものすごく生産性が向上します」とも。この辺りが「アプリケーションを開発する際のパターンのテンプレート」としての「framework」ということなのでしょうね。またインタビューとしてはPHPからRubyを使い始めた経緯など興味深いです。

と、ここで、GoodpicでRubyとMac OS Xに関する記事がいくつかありました。偶然ですが、何か感じるところがありますね、これは。

Ruby on Rails を Mac OSX Tigerで

ちょっと興味を惹かれたRuby on Railsを、Mac OSX Tigerにインストールしてみる。まずはxCode Toolsが必要になる場合があるそうなので、OSXのディスクからインストール。

Mac OSXのemacsに、Rubyモードを設定

Ruby用のエディタとしては、emacsがポピューラーなようなので、Rubyモードを設定してみる。

Ruby on Rails の MySQL設定 Mac OSX

Mac OSX Tiger(10.4.2)での、Ruby on Railsの設定では、MySQLの部分が、ちょっとはまることがあるようだ。

興味のある方は合わせてどうぞ。

そして最後に、『Ruby on Rails』入門のRailsの魅力という記事に辿り着きました。

そこには、

Railsはいわば、プログラミングのための工具箱みたいなもの。データベースに連動したサイト向けに、サイトの骨組みやよく使う機能なんかのコードを豊富に提供してくれるんだ。

と書かれていました。これがフレームワークとしての「Rails」を端的に示している言葉のように思えました。

さらにRailsを使えば、

データベース連動サイトを構築する前に必要な準備作業が大幅に短縮できる。そしてその骨組みに沿って、きっちりした、まともなコードを書くことが求められ、結果的にサイト制作がかなりお手軽になる。

というメリットがあるとも。

「Ruby on Railsなんて見るのも初めてだったのに、その日のうちにモバイル用のソーシャルネットワーク機能を備えたオークションサイトを作っちゃったよ。所要時間は6時間。Ajax対応のタスク管理プログラムを作ってる片手間でだよ!」なんていう凄い話も紹介されているのですが、さすがにここまでいくのは簡単ではないと思いますが、それでもRailsの一つの可能性を示しているのでしょうね。

アプリケーションの作成あたりを読んでいると「たった1行打ち込んだだけで組み上がった足場だったけど、すでにブックマークを作成したり、削除、編集する機能が備わっている」というあたり、なんとなくその気にさせられてしまいます。

ということで「Ruby on Rails」というものがなんであるか、ちょっと分かった気がします。

最近、改めてPHPを勉強して、やはり自分はプログラミングに向いていないと思いました。しかし、こうして新しいテクノロジーを追いかけて行くのは楽しいです。「Ruby on Rails」も自由に使いこなせたらきっと楽しいことでしょう。

オフィシャルサイトに15m intro videoという、「Ruby on Rails」でブログエンジンを構築していくところが見られるビデオがあったのですが、よく分からないながらも感動してしまいました。

オブジェクト指向スクリプト言語 Ruby

オブジェクト指向スクリプト言語 Ruby