Introdução ao RestfulX

Apesar de já ter escrito dois artigos sobre o assunto (um screencast e um tutorial), este artigo é o primeiro de uma série que pretendo escrever sobre o RestfulX, um framework incrível para quem quer integrar o Flex (ou AIR) ao RubyOnRails, Google App Engine, CouchDB, SQLite ou até mesmo integrar com o Juggernaut (plugin para o Rails para envio de mensagens do servidor para o cliente – server-push). Nos primeiros artigos eu vou focar a integração do Flex com o Rails. Assim como toda aula introdutória, este artigo vai ser um pouco “conceitual”, mas não por isso será menos importante que os artigos onde eu mostro algum código.

A idéia principal do RestfulX é trazer para o Flex os princípios de desenvolvimento do Rails, seguindo o conceito REST de comunicação entre cliente e servidor. Por exemplo, se definirmos no Rails que um projeto tem muitas tarefas, podemos fazer o seguinte no Rails:

@projeto = Projeto.new
@tarefa = Tarefa.new
@tarefa.projeto = @projeto
@projeto.tarefas.size          # O resultado é 1

O que o RestfulX faz é trazer toda essa facilidade para o Flex (através do ActionScript):

var proj:Projeto = new Projeto;
var tarefa:Tarefa = new Tarefa;
tarefa.projeto = proj;
proj.tarefas.length;       // O resultado é 1

Sobre o framework

O RestfulX foi criado sob o nome de Ruboss e a princípio era um framework proprietário, mas depois ele passou a ser gratuito e de código livre. Hoje ele é mantido por um de seus criadores, Dima Berastau.

O RestfulX compreende dois projetos principais, que são mantidos no GitHub: o projeto chamado restfulx e o outro chamado restfulx_framework.

O primeiro deles (restfulx) é todo gerador de código, feito em Ruby. Quando compilado ele gera a gem que é instalada quando executamos o comando gem install restfulx.

O segundo projeto (restfulx_framework) é o código da biblioteca (swc) baixada na pasta lib do projeto quando executamos o comando script/generate rx_config. Ele contém todas as classes responsáveis por serializar e desserializar (essa palavra existe?) todas as requisições entre cliente e servidor.

Um conceito importante para se ter em mente quando estamos desenvolvendo com RestfulX é que ele foi projetado para fazer o download dos dados à medida que o usuário vai solicitando. Dessa forma, quando o usuário solicita uma informação o framework solicita a informação ao servidor, trata os dados retornados e guarda esses dados no cache. A partir deste momento, quando o programa for acessar os dados já baixados o RestfulX consulta os dados do cache, ao invés de fazer outra requisição ao servidor. Isso diminui o tempo de resposta da aplicação e deixa o usuário mais feliz! Claro, quando o programador quiser ele pode recarregar os dados baixados anteriormente.

A comunicação entre cliente e servidor pode ser através de XML ou JSON. Pelo últimos tweets do Dima, parece que agora ele está estudando a possibilidade de disponibilizar a troca de informações via AMF, o que tornará a comunicação muito mais rápida entre o front e o backend.

Pela facilidade de se trabalhar com os dados armazenados no banco de dados, o programador tem mais tempo para se preocupar com o design da aplicação e da interação desta com o usuário. Se o programador dominar o Flex, o Ruby, o Rails e o RestfulX ele vai levar bem pouco tempo para fazer uma aplicação estupenda!

Bom esses são os conceitos principais sobre o RestfulX. Muitas coisas ficarão mais claras quando vierem os próximos artigos.

Para saber como criar e configurar um novo projeto usando o RestfulX, consulte este meu outro artigo.

Até a próxima!


Poderia avaliar este artigo, por favor?

1 Estrela2 Estrelas3 Estrelas4 Estrelas5 Estrelas (Nenhum voto)
Loading ... Loading ...

Posts relacionados