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に取って代わるものになるのには十分な理由であるようだ。