Ruby on Rails3を使ってサービスを作っています、現在1番目のプロトタイプを作ったたところです。管理系も含め50画面程度の小さなサービスですが、そのプロトタイプがRails3の学習を含め1週間で出来てしまいました。
以前 次期Ruby on Rails で書いたように Rails3の一番の目的は内部のモジュールを入れ替えられる様にするリファクタリングですが、機能の改善も行われています。その改善には気の利いたものが多く、Rails3はさらに優れたRailsへと進化してると思います。
使ってみて感じた Rails3の良さは:
- 従来の script/server 等のコマンドが railsコマンドに統合され使いやすくなった
- プロジェクトで使うGemライブラリーの依存関係を解決しインストール等を行ってくれる bundler は本番環境へのインストールを圧倒的に簡単にしてくれます
- ERBテンプレートがデフォルトでタグのエスケープ処理を行うようになり、うっかりXSS(クロスサイトスクリプティング)脆弱性を作ってしまう危険性が減少した
- Rails2でもScaffold(コード生成の)テンプレートのカスタマイズは出来ましたが、Rails3ではプロジェクト内にカスタマイズされたテンプレートを持て管理画面などのようにscaffold+アルファで出来る画面の生産性は非常に高くなります
- Rails3の目的であった内部モジュールの入れ替え機能で、ユニットテストの代わりにRSpec、prototype.jsの代わりにjQueryを使ったScaffoldが作れる
- Rails3のActiveRecordの新機能である Arel を使う事で SELECT文を使うデータベース処理を、解り易く、簡潔に書けるようになった
- ・・・・・
ただし、開発時に使うコマンドの動作が遅くなった、ドキュメントの不備等の問題点もありますが、これは徐々に改善されて行くと思います。
Rails2と変わった部分もありますが、これから始めるRailsプロジェクトであれば、絶対に Rails3 をお勧めします。