速報: Merb と Rails が統合

悪い冗談としか思えないんだけど、Merb と Rails が統合されるらしい。


実は 1 週間前に、DHH が Merb の信者にうんざりさせられているという話があったんだけど、あれはみんなを騙すための fake だったのか。やられたぜ。


詳細は追って連絡する。


追記: だいぶ事情が分かってきた。簡単に言えば、Rails 3 は Merb を吸収するということ。

  • Rails 3 == Merb 2。Rails 3 では、Merb の機能や特徴を大幅に取り入れる。
    • Rails core team に Yehuda Katz (Merb lead developer) が参加。
    • Rails 3 は Rack ベースになるだろう。Rack の重要性がますます高まる。
    • Rails 2 との互換性は一部失われることになるみたい。
  • component stack を自分で選択できるようになる。
  • 高速になる。
    • Merb チームの高速化のノウハウを Rails にフィードバックする。
    • ベンチマーク用アプリも用意する。
    • Katz は、他の「速い言語」の framework に負けないようにすると言っているので、「Ruby だから遅い」「Rails だから遅い」ということは Rails 3 ではなくなるはず。
  • API が定義される。
    • 今までの Rails だと、API が固定されてないため、Rails をバージョンアップすると plug-in が動作しなくなることがあった。Merb は使用可能な API が定義されているため、このような問題がなくなる。
    • まあ Merb と Rails とで同じ plug-in が使えるということだな。
  • リリース予定
    • Rails 2.3 は来年 1 月。そのあと DHH は Rails 3 に本格的に取りかかる。
    • Merb はしばらく bug fix release を続け、Rails 3 が見えてきたら徐々に移行できるようにする。
    • Rails 3 == Merb 2 の beta release は、RailsConf 2009 (2009 年 5 月 4〜7 日) が目標。
  • その他
    • Merb は MRI 以外の Ruby 実装で動かすことにも力を入れているので、Rails 3 は JRuby や Rubinius でも動くようになるだろう。
    • Rails と Merb では view helper とかが違うんだけど、これも merb-helpers と rails-helpers を選択して使えるようにするんじゃないかな。'<% end =%>' の運命やいかに?
    • ActiveRecord を DataObjects ベースにしてくんないかな。
    • 最大の懸念は ActiveSupport vs. Extlib なんだけど、どうなるんだろう。


個人的には、なんか Python の歴史をなぞっているとしか思えん。


こうなったら、あとは framework 全体で Session の共通化をしてほしいな。Rails の session 情報が Ramaze とか Sinatra でも読めるようになってほしい。
→ Session 部分を Rack middleware に切り出すことも検討中らしい。


追記2: ここにも詳しい情報があります。
MerbはRails3にマージされる事になった (Hello, world! - s21g)


追記3: merb-book ML で、誰もが一部の人にはたいへん気になる質問が出てしまいました。

But the point here is: should we continue to write/translate that book?

Google グループ

ほんと、どうすんだろね。


追記4: 冒頭のリンクに Katz と Ezra を追加、また人物の説明書きを追加。記事もちょっとだけ追加。


追記5: Merb 界隈は混乱中。技術的な問題もさることながら、Rails に merge されると肥大化するのは目に見えているので、small & compact な framework を求めていた人からは否定的な声も (←全力で同意)。また Mack framework の作者のように寡占化を心配する意見も出ている。ただ、全体的には歓迎ムードのよう。
でも、DHH はよく決断したよなー。こんなの、なかなかできることじゃないよ。


追記6: DHH のブログエントリがこちらで日本語に翻訳されています。GJ です。Katz のブログも翻訳してくださるそうなので、期待して待ちましょう。
ところでこれを機に DHH は Rails から黒魔術をなくしてくれるんでしょうか。「黒魔術を使わない」というのは Merb の大きな利点なので、DHH が改心してくれることを望みます。Symbol#to_proc なんかウンコ。