Ruby fora dos trilhos - Nitro and Og!

O Ruby começou a ganhar espaço nas empresas e na blogosfera principalmente por causa do Rails, mas o Rails não é o único framework para desenvolvimento Web em Ruby, um destes outros frameworks é o Nitro Framework ele tem mais ou menos a mesma idade do Rails, mas tem muito menos documentação, e que eu saiba bem menos usuários também.

Neste post vou falar um pouquinho dos meus primeiros 30 minutos com o Nitro …

Uma das coisas que eu mais gosto do Rails e que não é possível de se fazer com o Nitro é simplesmente alterar uma classe com o servidor rodando e as alterações se refletirem automagicamente no browser, mas vamos deixar isto de lado por enquanto …

O nitro diferente do Rails tem mais de uma abordagem para o desenvolvimento, é possível desenvolver aplicações utilizando MVC como o Rails, mas também é possível desenvolver aplicações direto em páginas como no ASP ou no PHP.

Para começar com o nitro basta seguir este passo a passo:

  • gem install -y nitro (isto vai instalar o nitro e as suas dependências)
  • gen app rocketpower (isto vai criar uma aplicação nitro)
  • cd rocketpower
  • ruby run.rb (eu precisei editar o arquivo e adicionar um require ‘rubygems’ na segunda linha)
  • acessar o endereço http://locahost:9000

Pronto, você esta executando a sua primeira aplicação Nitro!

Até o momento estou achando o Nitro muito confuso, provavelmente por causa da falta de documentação, ou dos exemplos toscos, mas seguem algumas coisinhas legais …

Para programar orientado a páginas, basta criar uma página no diretório public com a extensão .xhtml e quando quiser escrever código Ruby basta coloca-lo entre <?r e ?> ou então quando for para simplesmente imprimir texto usar diretamente #{…} como em qualquer string Ruby.

O nitro não possui uma estrutura de diretórios padrão como o Rails, os arquivos com o código da aplicação são declarados diretamente utilizando require no run.rb, acho que por isto não existe reload automático.

O nitro não obriga a extender uma classe para criar uma classe persistente (na verdade não é o Nitro que faz isto é o Og que é o framework de persistencia utilizado pelo Nitro), ele vai persistir qualquer coisa que tiver um método “serializable_attributes” que é criado automagicamente quando se utiliza os helpers para definição de campos do Og (setting).


Ele não tem nada parecido com migrations, pelo menos não que eu tenha encontrado até agora.

O código do Nitro e do Og eu achei muito mais simples de ler e entender o que esta acontecendo do que o código do Rails, já o código das aplicações escritas com o Nitro eu achei muito bagunçado, parece a grande maior parte dos códigos PHP que se encontra por ai (nada contra PHP apenas contra péssimos programadores PHP que infelizmente são a maioria).

Uma coisa que eu achei bem legal no nitro, é que os parametros para um método de um controller são recebidos como parâmetros do método mesmo e não no mapa “params”.

Bom, o exemplo que eu queria fazer para este post vai ficar para outra hora, pois vou precisar estudar um pouco mais o Nitro e o Og para poder fazer qualquer coisa que não me deixe envergonhado, achei os exemplos bagunçados demais, muitas classes por arquivo e coisas assim …

Por enquanto o Og parece muito verde ainda, ele havia passado um bom tempo com o desenvolvimento quase parado, mas voltou a se mexer agora com o “boom” do Rails.

Ele tem algumas coisas legais, mas por enquanto fico com o Rails :D

  1. Mais sobre Ruby e Rails
  2. Site oficial do Rails
  3. Mais sobre o Nitro
  4. Tutorial sobre Rails
  5. Curso de Ruby On Rails

Se você gostou deste post, lembre-se de assinar o RSS feed do blog, para ser notificado de novos posts!

2 comments so far

  1. AkitaOnRails October 12, 2007 7:04 pm

    Opa, legal, Nitro e Og precisam de mais gente desenvolvendo para melhorar.

    E não se esqueçam do lendário “Camping”:http://www.rubyonbr.org/articles/2007/04/14/acampamento-de-curiosos/ o micro-framework do mais lendário ainda Why the Lucky Stiff :-)

    E para aqueles que querem extrair tudo de cada ciclo da CPU existe o framework-complemento de Rails, “Merb”:http://brainspl.at/articles/tag/merb do controverso e excelente Ezra Zygmuntowicz.

  2. […] Portuguese version Here. […]

Leave a comment

Please be polite and on topic. Your e-mail will never be published.