Publicado por Rafael Rosa em 12 de December de 2009
Rango – Um novo e modular framework web em Ruby
O Rango é um novo framework web leve, baseado em Rack, desenvolvido por Jakub Šťastný, que parece ter se inspirado mais no Django do que nos atuais frameworks Ruby. Baseado na versão 1.9 do Ruby, ele funciona com o rvm, Rip, Usher, Warden, e usa como padrão, o novo empacotador de gem e o DataMapper.
Filosoficamente, o "Rango tenta ser tão agnóstico quanto possível, valorizando código simples e legível. A intenção é encorajar código explícito ao invés de mágica implícita.". Modularidade é uma das principais preocupações. Sob vários aspectos, ele se parece com o Ramaze, mas com uma estrutura mais nova baseada no Rack. Há um bom artigo chamado "Porque usar o Rango" (em inglês) disponível, se você quiser entender o projeto e razões para pensar em utilizá-lo. Você também pode ler o PDF de apresentação que serve como introdução ao projeto.
Rodando o projeto, roteamento e templates
O Rango funciona muito bem com o Passenger, e como foi desenvolvido para Ruby 1.9, e, embora seja possível, não se recomenda utilizar o Mongrel. O router é plugável, tendo o Usher como padrão, mas você pode usar o rack-router ou o rack-mount através do gerador. No momento, ele funciona bem com Haml, mas na próxima versão, 0.2, ele irá adotar o Tilt, que adiciona uma série de formatos, incluindo o Mustache, ERB, Erubis, e Liquid.
Ele tem geradores, mas ele se utiliza de sub-projetos chamados "Simple-Templater" para auxiliar os desenvolvedores à customizar a geração de código específico ao projeto. Ele usa o "Pupu", uma CLI (command-line interface) agnóstica em relação à frameworks, que auxilia na manutenção do conteúdo do diretório /public e de outras funcionalidades agrupando-os em módulos, que podem conter até mesmo funcionalidades escritas em javascript.
O recarregamento de código durante o desenvolvimento é feito através do Shotgun, ou, se estiver usando o Phusion Passenger, pode usar o tmp/always_restart.txt para reiniciar a aplicação a cada requisição. Se o Racksh estiver instalado, executar o arquivo ./init.rb -i irá inicializá-lo, caso contrário ele irá iniciar o Irb.
O futuro
O Rango tem um roadmap agressivo para Dezembro de 2009, e também tem uma impressionante linha do tempo com as funcionalidades futuras no seu wiki. Ele oferece uma série de funcionalidades inovadoras que merecem atenção. Para ficar por dentro das atualizações do projeto, siga @RangoProject no Twitter.

Clique aqui para adicionar ao del.icio.us

12 de December de 2009 às 9:25
[...] This post was mentioned on Twitter by Ruby Inside Brasil, Natanael Pantoja. Natanael Pantoja said: Rango - Um novo e modular framework web em Ruby http://bit.ly/7I7xuN (via @rubyinside_br) [...]