Sinatra em 9 linhas de código

Posted on November 17, 2009

1


Serviços como o TinyURL tem se proliferado na web, principalmente por causa do Twitter que limita as menssagens em 140 caracteres.

A aplicação que será descrita agora não tem o objetivo de ser como o TinyURL e sim utilizar essa idéia diretamente na URL, algo como:

http://johntopley.com/post/#{params[:token]}

Sinatra é um framework ruby para desenvolvimento de aplicações web. Na verdade ele é um micro-framework interessante quando Rails é algo muito grande para sua necessidade (o que não quer dizer que não seja podereso).
Uma de suas vantagens, é que o fato de ser extremamente leve facilita um número alto de requests por segundo.

Outro aspecto positivo é que o Sinatra suporta o Rack. Ná prática isso quer dizer que qualquer
servidor que suporte Rack pode rodar seu projeto, além de te dar a possibilidade de ter sua aplicação dividida em pequenas outras, por exemplo uma parte Sinatra e outra Rails.

A parte Rails

A parte Rails da aplicação contém um model chamado Post, que contém a conversão basa Base 36

Sinatra App

O Sinatra não padroniza uma estrutura de diretórios então é possível estruturá-la como quiser.
Sinatra não é um framework MVC

Sinatra fornece uma DSL para criação de aplicações web. No código acima existem
dois blocos manipuladores esperando por metodos HTTP GET. O primeiro redireciona
para o site jtblog.me. O segundo interpola um token para ser passado para a aplicaço Rails.

Sete linhas de código até aqui, as duas linhas restantes são referentes ao arquivo config.ru
e são utilizadas para subir a aplicação:

Esse post é uma tradução curta do John Topley – Write A Web App In Nine Lines Of Code With Sinatra
O site pode ser visto em :jtblog.me

Posted in: rails