BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Wee:継続ベースのRuby Webフレームワーク

Wee:継続ベースのRuby Webフレームワーク

Wee(web engineering easy)はSeaside(リンク)のようなWebフレームワークであり、継続を使用し、デベロッパに「作業を迅速かつ美しく完了」させる、とそのデベロッパであ るMichael Neumann氏が書いている(リンク)。Weeはまた、再使用可能なコンポーネント(リンク)があり「GUIのウィジェットのようなものである。一旦記述してしまえば、どこ ででも使用することができる」。RESTishアプリケーションというよりはむしろ、コンポーネント化されたHTML GUIアプリケーションを対象にしている。来るべき2.0のリリースは、 Rackに完全に基づくことになる。

Weeに関するNeumann氏のブログ記事は、継続でさらに読み取り可能なコードはどれだけであるかの例を示している。継続で、単純なシーケンシャルフローが以下のように記述される。

 callcc page1
 callcc page2
 callcc page3

これを代わりのものと比較して、以下のように継続パッシングスタイル(リンク)で記述される。

 call page1 do
   call page2 do
     call page3
   end
 end

継続が非常に便利なら、すべてのフレームワークがそれらを使っていないのはなぜか?Ruby向けの継続ベースのWebフレームワークがそれ以上ない理由 は、間違いなくRuby 1.8の継続がメモリのリークを招くからである。Brent Roman氏のMBARIパッチ修正は、メモリリークを修正する(参考記事)けれども、正式なRuby 1.8シリーズに関してはまだである(Engine Yardがメンテナンスを担うことになれば、組み込まれるかもしれない)(参考記事)。Ruby 1.9.1では、メモリリークはなくなり、Weeはその点を利用する(リンク)

10000の要求(1つのスレッドで) について、Ruby 1.9.1は16秒かけ、12MBのメモリを必要とする。Ruby 1.8.7での同様の例は329 MBのメモリになり、56秒かかる。

MerbがRails 3.0にマージされる(参考記事)予定となった今、WeeはRuby 1.9への遷移を開始し、Railsに取って代わるものになるのには十分な理由であるようだ。

 

原文はこちらです:http://www.infoq.com/news/2009/03/wee

この記事に星をつける

おすすめ度
スタイル

BT