Wee: Um framework web Ruby baseado em Continuations
Wee (web engineering easy) é um framework web similar ao Seaside que usa continuations e deixa o desenvolvedor fazer seu trabalho de forma rápida e elegante, como seu desenvolvedor Michael Neumann, escreve. O Wee também tem componentes reutilizáveis, "que são como widgets em uma GUI. Uma vez escritos, você pode usá-los onde quiser", almejando aplicações com GUIs HTML componentizadas, ao invés das RESTfull. O release 2.0 que se aproxima também será totalmente baseado no Rack.
O post sobre Wee no blog do Neumann mostra alguns exemplos de quão mais legível o código com continuations pode ser. Com continuations, um fluxo simples e seqüencial pode ser escrito como:
callcc page1 callcc page2 callcc page3
Compare isto à alternativa, escrita em continuation passing style:
call page1 do
call page2 do
call page3
end
end
Se continuations são tão úteis, porque nem todo framework as utiliza? Uma razão pela qual não existem mais frameworks web baseados em continuations para Ruby é certamente o fato de continuations em Ruby 1.8 causarem leaks de memória. Embora os MBARI patches de Brent Roman corrigem os leaks de memória, eles ainda não são parte da séria oficial do Ruby 1.8 (eles podem ser incluídos quando a Engine Yard assumir a manutenção). Com o Ruby 1.9.1, os leaks de memória também são corrigidos e o Wee tira vantagem disso:
Para 10000 requisições (com uma thread) o Ruby 1.9.1 leva 16 segundos e requer 12 MB de memória. O mesmo exemplo com o Ruby 1.8.7 exige 329 MB de memória e leva 56 segundos.
O Wee parece ser uma boa razão para trocar para o Ruby 1.9 e também é uma alternativa interessante ao Rails, agora que o Merb irá se fundir ao Rails 3.0.
Conteúdo educacional
Lean na Globo.com
Bernardo Heynemann 24 Mai, 2013
Mobilidade: Frameworks, SOs e o Mercado
Ricardo Ogliari 23 Mai, 2013
Caminhos de uma estratégia mobile
Sérgio Lopes 23 Mai, 2013
Complexidade organizacional no Século 21
Alexandre Magno 16 Mai, 2013

Olá visitante
Você precisa cadastrar-se no InfoQ Brasil ou Login para enviar comentários. Há muitas vantagens em se cadastrar.Obtenha o máximo da experiência do InfoQ Brasil.
Dê sua opinião