トップ «前の日記(2008-12-31) 最新 次の日記(2009-01-05)» 編集

Route 477



2009-01-01

[ruby] RubyのWebフレームワークについて最近調べたこと (その2)

その1が好評だったので続き。

  • Mack Framework
    • スピード指向らしい(実行速度のほうね)。
    • ドキュメンテーションが微妙
  • Ruby waves
    • 乗るしかない、このビッグウェーブに (←言いたかっただけ)
    • REST指向。
    • とりあえずチュートリアルを順にやればだいだい分かると思う。
    • Railsのように自動生成から始めるのではなく、1ファイルから少しずつ作っていくこともできる。
    • 全てのコードは1つのモジュール内に定義する。例えば、ブログアプリならBlog::Resource::Entryとか、Blog::Model::Commentとか、アプリ名のモジュール以下に定義する。
    • on :post, ["entry", :entry_id] みたいな感じで、HTTPメソッドとURLの組み合わせでルーティングを定義する。「true」がワイルドカード。
    • (追記) テストのやり方が分からない。
    • (追記) バリデーションとかは用意されてない?
    • (追記) それ以外はわりといい。気に入った。REST好きな人におすすめ。
  • Sequel
    • ORMライブラリ。(ActiveRecord相当)
    • DB[:managers].where(:salary => 5000..10000).order(:name, :department) みたいに、Rubyのコードを利用してSQLを書く感じ。
    • といってもそれだけじゃなく、例えばhas_many, belongs_toみたいなアソシエーションもサポートしている。(many_to_oneとone_to_manyという名前だけど)
    • (追記) マイグレーションもある(Rails風)。
  • Markaby
    • HTMLテンプレートエンジン。
    • Rubyのコードを利用してHTMLを書く。
    • 使ってみると意外と悪くない。
    • 自動でHTMLエスケープされるし。
    • ルールが単純なので、リファレンスを見る必要がない。
    • (追記) ほとんどHTMLと変わらんのじゃない?と思うけど、閉じタグ書かなくていいのがこんなに快適だったか。
    • (追記) <a class="foobar">... が a.foobar "..." と書けるので、実はjQueryとの相性がいい($('a.foobar'))。