monthly gimite

試験運用中。

RubyKaigi2006 2日目

たぶん全然見えないと思うけどDHHさん


というわけでちょろっとロイディの発表をしてきました。スライドはこちら。5分間ということで、紹介程度の軽い話ですが。

DHHさんの発表が面白かったです。内容の細かいところは他の誰かに譲るとして、大雑把に言うと

  • アクションはできるだけCRUDにしよう。
    • 必要な操作がCRUDで表現できるようにモデル/コントローラを設計しよう。
  • 新しいRailsアプリの書き方
    • CRUDをそれぞれHTTPのPOST,GET,PUT,DELETEで実装。*1
    • 同じアクションで複数の入力フォーマット(普通のPOST引数、XML)、複数の出力フォーマット(HTML、XMLJSON、携帯向けなど)に対応。
  • 新機能ActiveResource

という感じだったと思います(たぶん)。

で、以下は2番目の奴についての個人的な感想ですが、この書き方で一番嬉しいのは、人間向けのHTMLインタフェースとWeb API(REST)を一度に実装できるってところかなぁと。いや、

  • 手間が省ける(似たような処理を2回(人間向けとWeb API)実装しなくていい)

ってのもあるんですけど、それよりむしろ

  • 人間向けインタフェースと同じ構成でWeb APIが提供される

ってのが、Web APIを使う側にとっては嬉しい(そのサイトをブラウザで利用する方法が分かる→Web APIの使い方も分かる)気がします。

*1:ただしHTMLからPUTやDELETEを呼ぶ手段が無いので、その辺はPOST+hiddenタグで代用。Rails内で同一視する。