Ruby on Rails

アジャイル開発に最適なフレームワーク「Ruby on Rails」

Ruby on Railsとは、まつもとゆきひろ氏を中心として開発されているオブジェクト指向言語・Ruby上で動作するWebアプリケーションフレームワークで、Strutsでよく知られるMVCアーキテクチャを採用しています。現在では大手インターネット企業における開発案件にも適用され、急速に普及が進んでいます。

Ruby on Rails採用のメリット

Java + Struts + Hibernate よりもアジャイル開発に適しています

Ruby on Railsは、Javaを採用してStrutsなどのフレームワークを適用する場合よりも、ずっと少ない手順で導入・開発を行なえます。また、Ruby on Railsで実装されたアプリケーションはシンプルな構成であるため、とても保守性が高く、障害発生時にも問題箇所をすばやく特定できます。また、拡張のしやすさや修正の手軽さも大きな特徴です。

Javaとの比較

多くの実績と適用範囲を持つJavaですが、まずは開発者の視点からRuby on Railsと比較してみましょう。

表1 開発者視点からのJavaとRuby on Railsの比較
Java Ruby on Rails
導入 ばつ
  • フレームワーク選定が必須
  • XMLの設定に手間を要する
にじゅうまる
  • gemの利用で簡単に導入できる
  • 設定はほどんど不要
開発 さんかく
  • Strutsを利用する場合には、ある程度コード記述量が必要
  • 導入フレームワークへの習熟が必要
にじゅうまる
  • コード記述量が少ない
  • Railsのみで基本的な機能をすべて実現できる
デバッグ さんかく
  • XML設定ミスやHTML記述ミスによる不具合のデバッグが困難
  • 習熟が必要となる
まる
  • 設定ファイルが存在しない
  • 構成がシンプルなため、すぐに問題箇所を特定できる
テスト さんかく
  • 別途テスティングフレームワーク導入が必要
まる
  • あらかじめRailsにテスティングフレームワークが組み込まれている
UI さんかく
  • Ajaxを適用できるが、Ajaxライブラリ選定や実装方法について検討が必要となる
まる
  • Ajaxを用いたリッチクライアントアプリを簡単に実現できる
  • あらかじめAjaxライブラリが組み込まれている

もちろんのことですが、開発するシステムは開発者のものではなく、お客様やエンドユーザーのものです。表2に、お客様の視点からのJavaとの比較を示します。

表2 お客様視点からのJavaとRuby on Railsの比較
Java Ruby on Rails
期間 さんかく
  • 開発開始までに時間を要する
にじゅうまる
  • 開発開始、開発作業ともに高速である
拡張性
再利用性
まる
  • 再利用性が高い
  • 開発者に設計指針が十分に伝わっていない場合、拡張性が落ちてしまう
まる
  • Railsが拡張性を強力にサポートしている
  • Railsそのものも拡張可能である
保守性
変更容易性
まる
  • 設定ファイルが散在しているため、導入したツールを熟知している必要がある
  • 修正をアプリケーションに反映するためにデプロイが必要
にじゅうまる
  • 簡単に修正箇所を特定できる
  • スクリプト言語であるため、ファイルを配置すれば変更が反映される
信頼性 にじゅうまる
  • 大規模・ミッションクリティカルなシステムで実績多数
さんかく
  • 導入実績がまだ少ない

Ruby on Railsがアジャイル開発に最適な4つの理由

アジャイル開発に適しているといわれるRuby on Railsですが、その理由は次の4つにまとめられます。

その1:シンプルな設計を保てる

フレームワークにウェブアプリケーションで必要とされる機能のほとんどが実装されており、レイヤーも明確に区別されているため、高度なスキルがなくてもシンプルな設計を保てます。

その2:短期リリースに対応、開発スピードが出せる

実装しなければならないコードの量が極めて少ない点や、スクリプト言語であるため、アプリケーションに変更を反映する際にコンパイルやデプロイが不要である点は、開発を極めて高速にし、短期リリースを容易にします。

その3:テスト駆動開発が容易に実現可能

従来であれば、テスト駆動開発を行うにはxUnit等のツールを準備した上で、さらに不足機能分は自分でテスト用のフレームワークを準備しなければなりませんでした。しかし、「Ruby on Rails」にはテスト駆動開発を行うための機能が最初から実装されているため、すぐにテスト駆動開発を始めることができます。

その4:最適なペースに持ち込みやすい

従来のアプリケーション開発に比べて高度な機能が短期間に実現できるため、開発者は短時間で集中して作業を終える事ができます。その結果、公私のバランスが取れた充実した生活を送れるため、高いモチベーションを保つ事ができます。

お問い合せ

テクノロジックアートでは、「Ruby on Rails」によるシステム開発に力を入れております。ぜひ、アジャイル開発との組合せがもたらす圧倒的な生産性の高さを体験してください。

詳細につきましては、[ソリューションに関するお問い合せ]までお問い合せください。