MySQLとRuby on Rails、それぞれの美学を語る

2005年度OSCON(Open Source Convention)の模様が伝えられている。基調講演の目玉は、MySQLRuby on Rails
Ruby on RailsRuby言語によるWebアプリケーションフレームワークだ。その生産性たるやJavaの10倍*1だと言う。

Ruby on Railsが「プログラマをハッピーにする秘密の特徴」は3点ある。まず、1点目は、「Convention Over Configuration(規約は設定に勝る)」。通常のXML設定ファイルによりWebアプリケーションのコンポーネントをまとめ、設定していく方法では時間がかかった。属性の繰り返しは5、6回あり、変更を加えた場合は5、6か所変更することになるが、Ruby on Railsでは単一の規約に沿うことで自動的に反映されるので、一度で済む。これはコード量の短縮、開発時間の大幅な短縮を意味する。

2点目は、変更がすぐに反映される点。Ruby on Railsではコンパイル、実装、サーバの再スタート、コード生成はない。モデル・ビューに変更を加えると、コントロールスタックがすぐに機能し、アプリケーションに反映される。クラス定義でコードを実行でき、変更して確認する作業がスムーズになる。

3点目は、Webアプリケーションを稼働させるのに必要なものが完全に揃っている点。モデル、ビュー、コントロールJavaScriptがパッケージ化されており、コンパイル言語などは必要ない。全部Rubyで実現できる。

RailsLAMP/LAPP*2同等の地位を得るのも、そう遠くはない。

*1:Rails Academyという、Railsであっという間にWebアプリを作成するDEMOを紹介したので、そちらも参照のこと。

*2:OSSの大御所4プロジェクトLinux, Apache, MySQL/PostgreSql, PHPを指す。