Railsは習得が楽ちん

Railsを使いこなすために習得するのは、Ruby言語だけ。これが扱いやすさの理由です。Javaとどう違うか、書いてみました。

Railsといえば、コマンドをニサン発たたけばCRUD機能が出来上がることで有名です。でもやっぱり、いろいろ作りこんでいくと、他のフレームワークと同じように、プログラミング、プログラミング、プログラミング・・・

しかし、作業を進めるために習得しなければならないのは、Ruby言語だけです。ココがすばらしい。

シンプルさと、優秀なリファレンス

JavaでWebアプリを作るときは、JSPやTaglib、TLDなどのXML類、他にもEJB、JNDI、Strutsなど、習得しなければならない仕様が多すぎます。作り終えるためには、いったい何冊の本を読まなければいけないだろう!?
一方、Railsは、すべてRuby言語とAPIだけで構成されているので、
RailsのAPIリファレンスだけ傍においてれば、全部解決します。

ちなみに、このブログサイトを作るためのツールを検討する際に、以下のRailsクローンも触ってみましたが、複数プロダクトの寄せ集めだったりして(テンプレート言語が独自のものだったり)、リファレンスを集めるのも大変でした。まだまだ未整備だということを鑑みても、Railsより使いやすいツールになるのだろうか?

ActionView::Helpers

erubyは、Ruby版のHTMLテンプレート言語です。とはいっても、ただ単に、HTMLの中にRubyコードを埋め込みできるだけの簡単な仕様。Railsが提供しているActionView::Helpersは、erubyに埋め込んで、HTML(正確にはeruby)を生成するメソッド群です。

例えば、


 <%= text_field("post", "title", "size" => 20) %>

こう書けば、

 <input type="text" name="post[title]" size="20" value="値" />

こうなる。text_fieldメソッドが、HTML文字列を返す。ただそれだけの仕組みです。

ここで議論になるでしょう。「再利用性は?」「デザイナーとロジックの分業は?」などなど。でも、JSPだって、いくらタグライブラリを駆使しても実現できなかったのですから、Railsだけを責めても始まりません。

Railsは全般的に、中途半端な折衷案を捨てて、プログラマに大きな利益を与えています。この潔さがいい。もしRailsが、変なマークアップ言語でHTMLを作るような仕組みだったら、私は使ってないだろうと思います。
・・・Javaで作るときも、これマネしよ。


メタプログラミング

メタプログラミングも、Rubyの言語仕様だけで実現できます。


 class Girl
  private :weight?
 end

このprivateは、Javaなどの言語に慣れてる人は「宣言」だと思いがちですが、Rubyでは「メソッド」です。なので、

 class Girl
  himitsu :weight?
 end

でもいいんですね。
Railsでは、この言語仕様をフル活用していて、実にさまざまな機能や制御を、一発で設定できます。

 class Girl
  before_filter :login_required, :target => :marry_me?
  has_many :boyfriends
 end

ここでも「設定は外出しにしなきゃだめでしょ!」という意見がでると思います。私の意見では、設定ファイルに業務ロジックを書いている(EntityBeanはそうですね)くらいなら、こっちの方がスマートです。

Javaは、後付でソースコードと設定ファイルの融合(XDocletやアノテーション)を企てましたが、それもまた、覚えなければならない仕様を増やす結果になりました。

でも・・

なんだか、Java批判みたいな文章になってしまいましたが、だからといって、すべてのタイプのアプリケーションがRailsでうまくいくとは言ってないので、そこのところ、よろしくお願いします。私も、10人体制の開発でRails(というか、スクリプト言語)を使う自信はありません。


コメント

コメントしてください

closed.