Há algumas horas atrás foi realizada uma palestra sobre JRuby on Rails no SENAC do Rio de Janeiro, tendo sido apresentada pelo Fabio Kung, da Caelum. Conforme o planejado, eu assisti à palestra, o que foi bastante recompensador.
A apresentação foi excelente, tendo o Fabio apresentado o tema de forma extremamente competente, dando detalhes bem interessantes sobre a migração da front page do GUJ para o Rails, através do JRuby.
Sendo um pouco mais específico, ele mencionou, por exemplo, as gems e bibliotecas Java utilizadas no projeto, a intenção de manter o JForum (engine de fórum desenvolvida em Java), o que eliminou o MRI como opção de deploy, já que havia a necessidade de integrar o GUJ com o fórum, e a surpreendente diferença entre a performance do GUJ antes e depois da migração, sendo a versão JRuby on Rails 7 vezes mais rápida que a versão puramente Java.
Também foi mencionada a intenção de transformar o GUJ em uma espécie de agregador de blogs de TI, permitindo inclusive que os usuários votem nos posts que gostarem mais. Esse novo direcionamento trouxe um problema interessante: como impedir que um usuário crie um bot para votar nos seus próprios posts? A solução encontrada foi usar um captcha, sendo que não foi exatamente fácil achar um plugin puramente Ruby para tal tarefa, tanto que no fim das contas foi utilizado o JCaptcha, que conforme o nome indica foi feito em Java.
Outro assunto interessante abordado na palestra foi o jetty-rails, que é um projeto do próprio Fabio, e que permite que o desenvolvimento JRuby on Rails transcorra de forma bem mais rápida, já que ele evita que o container de servlets seja “levantado” toda vez que o desenvolvedor quiser visualizar uma mudança no código. Aliás, essa é uma alternativa interessante pra quem quer não somente fazer o deploy através do JRuby, mas também usá-lo durante o desenvolvimento e acompanhar o progresso da aplicação instantaneamente.
Ele também mostrou um enorme conhecimento de causa ao discorrer com bastante propriedade sobre os problemas do Ruby e do Rails, em particular o fraco gerenciamente de memória do Ruby, e as complicações advindas do fato do Rails não ser thread-safe.
Um último detalhe digno de nota é que o Fabio deixou uma mensagem bem clara durante toda a palestra: qualquer tecnologia escala, desde que você realmenta a conheça.
Enfim, foi uma palestra excelente. Parabéns pro Fábio e pro Rio JUG pela bela iniciativa.

Comentários Recentes