ITmediaにMerbの記事が載ったけど情報が少ないのでいろいろ書いた
Ruby on Railsとエンタープライズを結び付ける「Merb」 (1/2) - ITmedia エンタープライズ
記事からじゃMerbがどういうものかピンと来ないと思うので、
あたりから抜き書き。
基本情報
- 2006年に始まったプロジェクト
- RailsなんてやってられっかぼけーってキレまくったMongrelの元開発者ことZed ShawがMerbを褒めてた
- これを受けてMerbは0.5.0を”Thanks Zed”リリースってことにした。
- MVCフレームワーク
- eRubyやERBよりも高速なErubisを標準で使う
- スレッドセーフ
- Rackベース
- cgi.rbを使っていない
- 先週くらいにMerb 1.0RCがリリースされた。
RackベースなのでPassenger 2.xでもThinでも動きます。Railsでいう./script/serverみたいなものもあります。
その他の特徴
- すべてがgem
- モジュラー形式
- Merb自身はORMについて何も知らない
- Viewについても何も知らない
- JavaScriptについても何も知らない
- MerbはRubyフレームワークの永世中立国
何も知らないというのは使えないということではありません。ORMにはActiveRecord/DataMapper/Sequelを使えるし、テストもRSpec/Test::Unitを選べるし、ビューにErubisやHamlを使うことも出来ます。アダプタを書けば他のものも使えます。
それぞれのデフォルトはDataMapper/RSpec/Erubisですが、たとえばビューにHamlを使いたいなら、
- sudo gem i merb-hamlでgemをインストール
- config/init.rbからrequire
- ビューのテンプレートのファイル名をindex.haml.htmlとかにする
で終わりです。すべてがgemというのはこういうことです。
Merbの信条
- Merbは速くあるべき
- 低速化はバグ
- 簡素であるべき
- コードがないことこそ最速("no code is faster than no code")
- Merbはメモリを効率的に使うべき
- Merbのコードは可能な限りシンプルにするべき
- Merbはモジュラーであるべき(一枚岩になってはならない)
- Merbは理解と拡張を容易に行えるべき
- Merbはアプリケーションサーバーにもウェブフレームワークにもフォーカスすべき
- Merbはあなたのやり方で作れるように柔軟であるべき
- Merbは実験場であるべき
Merbの注目度
github 2008-10-16 on Flickr - Photo Sharing!
RSpecよりも上!
Merbプラグイン
Repository Search — merb- — GitHub
件数が見当たらなかったけどとにかくいろいろある。
速いってRailsと比べてどれくらい速いの?
グラフ。2007年9月のものなのでちょっと古い。
Rails 2.xとMerb 0.9.xの比較。JRubyとかでもベンチマーク取ってる。
Paul Boone : Rails / Merb performance comparison (on mongrel, jruby, tomcat, glassfish)
Merb is now running 36-70% faster than Rails, depending on the environment.
訳:環境に関係なく、MerbはRailsより36〜70%ほど速い。
実績は?
Merb Wiki | Production apps running on MerbとMerb Wiki | Open source Merb Appsに一覧があります(注:執筆時点で新しいWikiへと移行中のため、しばらくするとページが消えてるかもしれないです)。
日本ではあまり馴染みがないですが、たとえばPandaとかは見覚えあるかもしれません。
あとこのブログもMerbで作られてます。
まとめ
リンク先が英語ばっかりなことからわかるように日本語情報はあんまりありません。1.0リリースを契機に利用者が増えるといいなあ。

コメント