スラッシュドット    はてなブックマーク  Yahoo!ブックマークに登録  印刷

Webアプリ開発フレームワーク

2006年「Ruby on Rails」が愛された理由

2007/01/12

 2006年は手軽にプログラムし、アプリケーションを開発できるライトウェイト言語に注目が集まった年だった。インタープリタ型スクリプト言語であるPerl、PHP、Python、Rubyなどが開発者の人気を集めた。その中でも熱烈ともいえる支持を集めるのはRubyとそのWebフレームワークである「Ruby on Rails」(RoR)。RoRの人気の理由を探った。

動くアプリを手早く開発

 RoRはフルスタックのWebフレームワーク。開発者はRoRだけで本格的なWebアプリケーションを開発できる。人気の理由は複雑な手順を踏まなくても、動くアプリケーションを手早く開発できることだろう。RoRは「scaffold」(土台)と呼ばれるテンプレートの自動生成機能があり、データベースアクセスを含むWebアプリケーションの基本を短時間に作成できる。

 この土台をベースに必要な設定を行えばアプリケーションは完成する。生産性の高さからRoRは「Javaの10倍の開発生産性」などともいわれている。また、RoRがAjaxに標準で対応し、JavaScriptコードを記述することなく、Ajax対応Webアプリケーションを開発できることも人気の理由だ。

 RoRの公式Webサイトに掲載されている15分でブログサイトを開発するデモンストレーションは有名だ。ネットワーク応用通信研究所(NaCl)のネットワークSIグループ 上級研究員 後藤裕蔵氏は「その場でアプリケーションを作るデモなどはこれまでになくキャッチーだ。敷居が低く感じられるだろう」と話す。

開発速度を上げる「設定より規約」

 RoRはほかの言語が持つ柔軟性や自由度をある程度犠牲にすることで、開発スピードをアップさせているとも言われる。RoRは定義ファイルの設定などの挙動を、規約として定めている。開発者が設定を指示すれば別だが、デフォルトで設定されているため、開発者は重複するコードの記述を避けることができ、開発スピードが向上する。

 RoRではこの考えを「Convention over Configuration」(設定より規約)と呼ぶ。規約を適用することでコード内容を平準化し、開発品質を向上させることが主な狙いといわれる。「メソッド定義がURLにマッピングされるなど実際の開発環境での使い勝手がよい」(後藤氏)

日本語対応の統合開発環境も

 RoRの統合開発環境も揃ってきた。定番はEclipseプラグインとして動作する「RadRails」。スタンドアロン版もある。RoRでは日本語のサポートが弱いといわれてきたが、NaClとオープンソース・ジャパン(OSJ)は日本語対応機能を強化した統合開発環境「Rails Platform」を、サポートや研修サービスを付けて販売している。

ror01.jpg 日本語に対応する「Rails Platform」のユーザーインターフェイス

 Rails PlatformはWindows XP向けの統合開発環境。ユーザーインターフェイスを日本語化したRadRails 0.7.1を含む統合開発環境で、「開発者がRoRを簡単に試せるのが特徴」(OSJ 技術部 アソシエイツ 小林広氏)だ。

 RoRが人気を呼ぶ背景には開発の短期化の流れもある。RoRの利用はインターネットサービスを提供するネット企業が多い。ネット企業は優れたアイデアを短期間でサービスとして提供することが競争優位の条件だ。面倒な手順を踏まずにアイデアをアプリケーションに直結させる――Rubyに代表されるスクリプト言語はこのようなネット企業のビジネスモデルに最適なのだ。

関連リンク

(@IT 垣内郁栄)

情報をお寄せください:


Coding Edge フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

アイティメディアの提供サービス

ホワイトペーパー(TechTargetジャパン/閲覧には会員登録が必要です)

スキルアップ/キャリアアップ(JOB@IT)

- PR -

お勧め求人情報

キャリアアップ 〜JOB@IT
@IT Special -PR-
  TomcatやJBossなどAPサーバ環境に関する
情報を集約! “業務”用APサーバ大百科

New!
  一気に解説! 最新のクラスタストレージ
「RAIDを超えたストレージ基準」……など

New!
  クラウド的ユーザー体験の変化は脅威か?
仮想化技術を使いこなす運用管理術を紹介

New!

  上司や部下、部署内メンバーとの情報共有
を“ガラッ”と変えるコラボツールとは?

New!
  おばかアプリ選手権、第4弾開催中!!
ムダにカッコよくてくだらない作品求ム!

  社内ファイルサーバを“クラウド”に統合
VPN直結「クラウド型ストレージ」を紹介

  Twitterのアカウントはなぜ突破された?
メールによる新手の攻撃手法とその対策

  もう仮想化のお試しフェイズは終わりだ!
Hyper-V 2.0が基幹システムも仮想化

  美人!? まあまあ? 気になる いやし系!!
PV急増で「美人時計」がとった手段とは?

  クライアント企業から求められる人材
⇒IT技術と経営戦略を併せ持つ「戦略家」

  .NET編集長が実践する「技術情報検索術」
サンプル・コードを簡単に探す“技”は?

  業務効率と情報セキュリティ対策を両立!
手間なく確実に機密情報を守る方法とは?

  進化を続ける富士通ストレージETERNUS DX
製品開発者の自信を裏付けるものとは何か

  運用管理の課題を“2つの観点”から分析
ユーザー満足度の高い「仮想環境」とは?

  【CTC事例】約30の基幹システムを統合!
膨大なバッジジョブを制御した方法は?

  仮想化すればコストは削減できるか?
仮想化に必要な「3つの視点」を解説する

  その数、なんと400台以上! グループ内
サーバの「統合管理」によるメリットは?