Ruby on Rails 素早く簡単にWebアプリケーションを構築 |
Webの世界が日進月歩なのは皆様も実感していることでしょう。まさに次から次へと新しいキーワードが生まれ、思いもよらないサービスが提供されるようになりました。そんな最新技術の中から今回は、Webアプリケーションの世界に革命的な効率性をもたらした、「Ruby on Rails」について紹介します。RoRまたはRailsと呼ばれることもあります。Ruby on Rails は、最も速く最も簡単だとして大変注目を集めているオープンソースによるWebアプリケーション開発用のフレームワークです。
RoRが必要とされた背景 〜Webアプリケーション開発はスピード勝負の世界〜Webビジネスで成功するには?現代は「スピード」がビジネスの成否を左右する時代です。特にWebビジネスの世界は、最初にサービスを提供したものだけが莫大な利益を得て、他を圧倒することができます。ビジネスモデルはもちろん、サービスを提供するシステム「Webアプリケーション」を素早く構築しなければならないのです。 Webアプリケーションを素早く作成する秘訣?アプリケーションシステムを素早く作る仕組みとして考えられたのが「フレームワーク」です。頻繁に必要とされる汎用的な機能をまとめて提供し、アプリケーションの土台として機能します。
RoRの成り立ち 〜ベースはまつもとゆきひろ氏のRuby〜RoRのベースRubyとは?Ruby on RailsはデンマークのDavid Heinemeier Hansson氏によって、2004年7月に公開されたフレームワークですが、ベースとなった言語は日本人 まつもとゆきひろ氏による「Ruby」です。 まつもとゆきひろ氏とは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のいいとこ取りしたのがRoRDavid Heinemeier Hansson氏はRuby on Rails開発前は「すぐに作れるけどゴチャゴチャしがちなPHPと、きれいだけど作るのに時間がかかるJavaを使ってソフトウェア開発をしていた」といいます。Ruby on Railsはまさに、PHPとJavaのいいとこ取りのフレームワークなのです。
RoRの構造 〜構築期間を短縮できるMVC(Model-View-Controller)をサポート〜Ruby on RailsがサポートしているMVCとは、ソフトウェアの設計モデルの1つで、これも最近注目されているキーワードです。
RoRがもたらす効果 〜コード量の圧倒的な削減〜RoRが得意なWebアプリケーションは?高生産性がRuby on Rails最大の特長でありメリットです。すでに解説したように、規約に従うことで、大幅な省力化ができます。また、同じ設定は不要。同じデータやロジックを重複させず、高生産性を提供できます。コツを把握しやすく、開発に慣れてくるとだんだんカンが働くようになると、評価する人も多くいます。 RoRで記述すると……?シンプルな記述例として、Webアプリケーションではおなじみの「Hello World !」を画面表示するプログラムを比べてみましょう。 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でも紹介していますのでご記憶の方も多いでしょう。 RoRを試してみよう!RubyもRuby on Railsもオープンソースですから、どなたでも自由に利用して、アプリケーションを作成できます。ちなみにRuby on Railsのソフトウェアセットは、「Instant Rails」のサイトからダウンロードすることができます。 参考URL
|