Invisible Ruby mini-framework

20/7/2008 | Tags: , , , | Escrito por: Dirceu Júnior

O pirado que desenvolveu o Thin web server, Marc-André Cournoyer também criou seu próprio framework: Invisible, que é bem parecido com o Sinatra (um outro mini-framework Ruby).

ORM (Mapeamento objeto-relacional), aquele lance que no Rails você conhece por ActiveRecord que transforma linhas da base de dados em objetos do Ruby.

Seguindo a linha do Sinatra, ele é um pequeno suporte para fazer a ligação entre a aplicação e o web server, deixando toda a escolha de “como organizar a estrutura da aplicação”, “que ORM usar” ou até mesmo “usar ORM?” para o desenvolvedor.

Vale a pena dar uma olhada nessa aplicação exemplo e guarda-lo no seu Pagestacker, quem sabe um dia não surge um projetinho que encaixa com a estrutura desse frame, huh?



Thin próximo da versão 1.0

27/6/2008 | Tags: , , , , , | Escrito por: Dirceu Júnior

Ontem o desenvolvedor do Thin, Marc-André Cournoyer, lançou o que parece ser um release candidate para a primeira versão estável do seu servidor de aplicações Ruby[bb].

Batizada de “Double Margarita” a versão 0.8.2 não vem com muitas funcionalidades novas mas corrige todos problemas graves das versões anteriores.

Para quem não sabe do que se trata, Thin é um web server Ruby que utiliza o que há de melhor para processamento HTTP no mundo Ruby:

  • O Parser do Mongrel, de onde vem toda a velocidade e segurança do Mongrel
  • Event Machine, uma biblioteca de network I/O com foco em escalabilidade, performance e estabilidade.
  • Rack, a interface (API) entre web servers e frameworks Ruby

Essas características dão ao Thin o posto de “mais rápido que Mongrel com menos memoria que Mongrel”

Thin vs Mongrel: requisições/segundo
Thin vs Mongrel: uso de memoria

Veja o artigo que compara Thin e Mongrel de onde reproduzi os gráficos

Porém ainda vejo outra vantagem além da performance atual que é a possibilidade de Thin rodar em Ruby 1.9 desde sua versão 0.5.1, permitindo aos desenvolvedores do “ambiente Thin” (leia-se Merb) desenvolverem suas bibliotecas compatíveis com o YARV (a famosa maquina virtual por trás da performance do próximo Ruby estável). Coisa que Mongrel e o “ecossistema” em volta dele ainda não permite.

Para saber mais:
Página Oficial
Como começar (em ingles)