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
Desenvolvendo para o novo Firefox OS
André Garzia 19 Jun, 2013
Desenvolvimento de jogos no Android
Anderson Leite 13 Jun, 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