UP TO DATE・バックナンバー>>
UP TO DATE Ruby on Rails
素早く簡単にWebアプリケーションを構築

本ページの内容をPDFファイルでダウンロードできます >> PDFダウンロード


Webの世界が日進月歩なのは皆様も実感していることでしょう。まさに次から次へと新しいキーワードが生まれ、思いもよらないサービスが提供されるようになりました。そんな最新技術の中から今回は、Webアプリケーションの世界に革命的な効率性をもたらした、「Ruby on Rails」について紹介します。RoRまたはRailsと呼ばれることもあります。Ruby on Rails は、最も速く最も簡単だとして大変注目を集めているオープンソースによるWebアプリケーション開発用のフレームワークです。

ページのトップへ▲

RoRが必要とされた背景 〜Webアプリケーション開発はスピード勝負の世界〜

Webビジネスで成功するには?

現代は「スピード」がビジネスの成否を左右する時代です。特にWebビジネスの世界は、最初にサービスを提供したものだけが莫大な利益を得て、他を圧倒することができます。ビジネスモデルはもちろん、サービスを提供するシステム「Webアプリケーション」を素早く構築しなければならないのです。

Webアプリケーションを素早く作成する秘訣?

アプリケーションシステムを素早く作る仕組みとして考えられたのが「フレームワーク」です。頻繁に必要とされる汎用的な機能をまとめて提供し、アプリケーションの土台として機能します。
フレームワークを利用することで、その書式に従って書けば、プログラムが簡単に完成します。フレームワークは、Webアプリケーションの世界で大変多く利用されています。この中でもRuby on Railsは最も注目されているフレームワークなのです。

ページのトップへ▲

RoRの成り立ち 〜ベースはまつもとゆきひろ氏のRuby〜

RoRのベースRubyとは?

Ruby on RailsはデンマークのDavid Heinemeier Hansson氏によって、2004年7月に公開されたフレームワークですが、ベースとなった言語は日本人 まつもとゆきひろ氏による「Ruby」です。
このRubyはオブジェクト指向のスクリプト言語です。似たような言語に「Perl(パール)」というものがあり、これの向こうを張って「Ruby(ルビー)」という名前にしたようです。Perlと同じくらい強力なテキスト処理能力、シンプルな文法などの特長を持っています。特に「プログラムがきれいに書ける」ことで世界的に高い評価を得ています。

まつもとゆきひろ氏とは

Rubyを利用するには、「日本Rubyの会」等、いくつかの支援団体があり、「http://jp.rubyist.net/」からソースコードのダウンロードもできます。 Rubyを開発した まつもとゆきひろ氏は1965年鳥取県で生まれ、筑波大学を卒業後、島根県松江市の株式会社ネットワーク応用通信研究所にフェロー(客員)として在籍しています。オープンソースの世界で最も成功を収めた日本人として有名です。

ページのトップへ▲

RoRの基本理念 〜規約は設定に勝る(Convention over Configuration)〜

Ruby on Railsを特長づける基本理念に「規約は設定に勝る」(Convention over Configuration)と、「同じことを繰り返さない」(Don't Repeat Yourself)の2つがあります。

「規約は設定に勝る」とは?

まず、「規約は設定に勝る」とは、標準的な設定は決まったルールに従い、共通でない部分の設定のみを行うようにするべき、ということです。通常、プログラミングは多くの設定で成り立っており、その正確な記述が不可欠です。しかし、標準的な動きの場合を「規約」として決めておけば、設定の記述を省略できるのです。例えばAにアクセスする一般的なルートをaaとすることで、その詳細なルートを省略できます。規約に則っていればいるほどソースコード量を削減できます。

「同じことを繰り返さない」とは?

次に「同じことを繰り返さない」。これは文字どおり、定義などの作業は1回だけで済むことを意味します。通常、設定を変更する際には関連する多くの箇所を変更するケースがありますが、Ruby on Railsは1回のみの変更で済み、効率的に開発できるようになります。

PHPとJavaのいいとこ取りしたのがRoR

David Heinemeier Hansson氏はRuby on Rails開発前は「すぐに作れるけどゴチャゴチャしがちなPHPと、きれいだけど作るのに時間がかかるJavaを使ってソフトウェア開発をしていた」といいます。Ruby on Railsはまさに、PHPとJavaのいいとこ取りのフレームワークなのです。

ページのトップへ▲

RoRの構造 〜構築期間を短縮できるMVC(Model-View-Controller)をサポート〜

Ruby on RailsがサポートしているMVCとは、ソフトウェアの設計モデルの1つで、これも最近注目されているキーワードです。
MVCは3要素の組み合わせでシステムを構築します。処理の中核を担う「Model」、表示と出力の「View」、ViewとModelを制御する「Controller」の3つで、これらModel、View、Controllerの頭文字でMVCというわけです。
MVCのメリットは、3つの要素をパラレルに作成でき、構築期間を短縮できることにあります。プログラム変更の場合も、3つのうちの1つに手を加えることになり、構造が簡単なので修正のミスも削減できます。画面表示を直したいのであればView、機能を変更するのであればControllerに手を入れるという具合です。
Ruby on Railsが早く構築できる上に変更も簡単なのは、このMVCに対応しているためでもあります。

ページのトップへ▲

RoRがもたらす効果 〜コード量の圧倒的な削減〜

RoRが得意なWebアプリケーションは?

高生産性がRuby on Rails最大の特長でありメリットです。すでに解説したように、規約に従うことで、大幅な省力化ができます。また、同じ設定は不要。同じデータやロジックを重複させず、高生産性を提供できます。コツを把握しやすく、開発に慣れてくるとだんだんカンが働くようになると、評価する人も多くいます。

RoRで記述すると……?

シンプルな記述例として、Webアプリケーションではおなじみの「Hello World !」を画面表示するプログラムを比べてみましょう。
以下がRuby on Railsの記述例です。

          puts "Hello World !"

これに対し、Javaで同様の処理を実行する場合は以下のようなプログラムになる上に、コンパイルという作業も加わります。

         class HelloWorld {
             public static void main(String[] args) {
                 System.out.println("HelloWorld !");
             }
         }

これからも、Ruby on Railsがいかにシンプルにプログラムを記述できるか、おわかりいただけるかと思います。

ページのトップへ▲

アジャイルソフトウェア開発への対応

Ruby on Railsに期待されている点に、アジャイルソフトウェア開発への対応能力があります。

アジャイルソフトウェア開発とは?

アジャイル(agile)は「機敏な、敏捷な」という意味で、「アジャイル経営」といった使われ方もします。ソフトウェア開発の世界でも、文字どおり素早く柔軟な開発のことです。
従来の開発は、開発プロセスが重視されており、要件定義や仕様決定、設計など、極めて計画的に行われていました。しかし、アジャイルソフトウェア開発は変更が当然あるものとして、大まかな仕様だけで開発を始めてしまってもいいのです。スモールスタートして、後から機能を少しずつ追加することもできます。

変更の手間をどうするの?

もっとも、このような開発は作成と変更がめまぐるしく交差し、恐ろしく手間が増えるような気がします。そこで、重宝されているのがRuby on Railsなのです。Javaの10倍以上の生産性があるといわれるRuby on Railsがアジャイルソフトウェア開発で威力を発揮しているというわけです。

ページのトップへ▲

リッチクライアント画面の作成(Ajaxライブラリの標準装備)

Ajaxとは?

Ajaxについてはeふぁみり27号( 2007年)のUp To Dateでも紹介していますのでご記憶の方も多いでしょう。
Ajaxは、一言でいえば対話型Webページを作成するWebアプリケーション技術です。従来のWebアプリケーションはブラウザ経由の操作で、クライアント・サーバ型システムのアプリケーションと比べると、画面構成がずいぶんと不親切でした。この不親切さを解消し、対話型の動的なリッチクライアント画面を作成できるのです。
Ruby on Railsには、このAjaxライブラリがデフォルトで同梱されています。極めて少ないコード量で、使いやすい画面操作を実現できるのです。

RoRを試してみよう!

RubyもRuby on Railsもオープンソースですから、どなたでも自由に利用して、アプリケーションを作成できます。ちなみにRuby on Railsのソフトウェアセットは、「Instant Rails」のサイトからダウンロードすることができます。
オープンソースのためサポートに不安を感じる方がいるかもしれませんが、Web上での支援情報が公開されておりますし、すでにRuby on Railsのサポートを表明しているITベンダーもあります。
今後、Ruby on RailsはWebアプリケーションの世界では、さらに採用されていくことと考えられます。これからの発展に注目しましょう。

参考URL

ページのトップへ▲

All Rights Reserved, Copyright(C) FUJITSUファミリ会