RestfulX – Introdução, instalação, configuração e primera aplicação em 5 minutos

O RestfulX é um framework que se propõe, basicamente, a trazer para o Flex a abstração que o Rails faz da camada de dados. Ele possui um conjunto de geradores de código que facilitam o trabalho de programação ao automatizar tarefas repetitivas, como criar Value Objects (VOs) e tratar a comunicação com o backend para realizar operações de manipulação do banco de dados – criar, recuperar, atualizar e apagar registros, operações conhecidas sob o acrônimo CRUD (Create, Retrieve, Update e Delete).

Toda a geração de código é baseada no Rails, mas você não é obrigado a utilizar o Rails como backend. Você também pode armazenar seus dados no Google App Engine (GAE), ou até gerar uma aplicação em AIR que acesse dados em uma base SQLite, dispensando conexão com a internet ou a instalação de um webserver / SGBD na máquina local.

A versão mais recente, enquanto escrevo este artigo, é a 1.2.2. Para instalá-la, certifique-se que você já tem o Ruby e o Rails instalados corretamente e execute o seguinte comando (os exemplos foram criados para a plataforma Windows, mas são válidos para qualquer plataforma):

gem install restfulx

Com o RestfulX instalado, crie sua aplicação Rails:

rails -d mysql minha_app

Neste exemplo, estou criando uma aplicação chamada minha_app, configurada para usar o mysql como SGBD (sem a opção -d mysql, o rails configura a aplicação para usar o sqlite, o que pode ser facilmente modificado através do arquivo config/database.yml).

Agora, edite o arquivo config/environment.rb e adicione a seguinte linha de código:

config.gem "restfulx"

Com isso, sua aplicação está pronta para usar o framework.

Agora é necessário criar os arquivos de configuração e fazer o download da biblioteca do RestfulX que será usada no Flex (atualmente, restfulx-1.2.2.swc). O comando a seguir é responsável por essa tarefa:

ruby script\generate rx_config

Crie, dentro do diretório db, o arquivo model.yml. Este arquivo está para o RestfulX assim como as migrations estão para o Rails. É baseado neste arquivo (model.yml) que o RestfulX vai criar as migrations para que nossa aplicação funcione. Dentro deste arquivo, coloque o seguinte conteúdo (exemplo obtido do site do framework):

project:
- name: string
- notes: text
- start_date: date
- end_date: date
- completed: boolean
- belongs_to: [user]
- has_many: [tasks]

location:
- name: string
- notes: text
- belongs_to: [user]
- has_many: [tasks]

task:
- name: string
- notes: text
- start_time: datetime
- end_time: datetime
- completed: boolean
- next_action: boolean
- belongs_to: [project, location, user]

note:
- content: text
- belongs_to: [user]

user:
- login: string
- first_name: string
- last_name: string
- email: string
- has_many: [tasks, projects, locations]
- has_one: [note]

Com o arquivo salvo, execute os seguintes comandos:

ruby script\generate rx_yaml_scaffold
rake db:refresh
rake db:flex:build

O primeiro comando cria as migrations, baseando-se no arquivo model.yml, e cria os VOs e as telas para executar as operações de CRUD em cada modelo. O segundo comando atualiza o banco de dados, executando as migrations criadas no comando anterior. O terceiro comando compila a nossa aplicação Flex, e deixa ela pronta para uso através do servidor da nossa aplicação. Para ver toda essa “mágica” funcionando inicie o servidor (com ruby script\server) e acesse http://localhost:3000/ no seu browser. Você verá o scaffold da sua aplicação funcionando, manipulando dados no banco. Agora você pode utilizar as facilidades do framework para manipular seus dados como se estivesse no Rails, mas isso é assunto para o próximo artigo.


Poderia avaliar este artigo, por favor?

1 Estrela2 Estrelas3 Estrelas4 Estrelas5 Estrelas
Loading ... Loading ...

Posts relacionados

  • Pingback: Screencast: desenvolvendo uma aplicação com RestfulX em menos de 5 minutos | Elvis Fernandes

  • http://www.diemesleno.com.br/ Diemesleno Souza Carvalho

    Olá, estou muito interessado no desenvolvimento Rails + Flex + Linux, porém ao criar esta primeira aplicação estou recebendo o seguinte erro:

    Don’t know how to build task ‘db:flex:build’

    Saberia me dizer qual pode ser o problema?

    Obrigado.

    • http://www.elvis.eti.br/ Elvis Fernandes

      Olá, Diemesleno!
      Se você está querendo compilar sua aplicação no Flex, o correto é usar rx ao invés de db: rake rx:flex:build. Claro, isso só vai funcionar se você tiver instalado a gem do RestfulX (com gem install restfulx).

      Obrigado pelo comentário!

  • http://www.diemesleno.com.br Diemesleno Souza Carvalho

    Olá, estou muito interessado no desenvolvimento Rails + Flex + Linux, porém ao criar esta primeira aplicação estou recebendo o seguinte erro:

    Don’t know how to build task ‘db:flex:build’

    Saberia me dizer qual pode ser o problema?

    Obrigado.

    • http://www.elvis.eti.br Elvis Fernandes

      Olá, Diemesleno!
      Se você está querendo compilar sua aplicação no Flex, o correto é usar rx ao invés de db: rake rx:flex:build. Claro, isso só vai funcionar se você tiver instalado a gem do RestfulX (com gem install restfulx).

      Obrigado pelo comentário!

  • http://www.diemesleno.com.br/ Diemesleno

    Olá Elvis novamente.

    Meu problema em executar esta aplicação continua. Fiz da forma que me disse no post anterior “rake rx:flex:build” e mesmo tendo instalado a gem do restfulx eu recebo como mensagem o seguinte:

    “The application was not compiled. Check console for errors. It is possible that ‘(a)mxmlc’ executable was not found or there are compilation errors.”

    O erro que aparece no console é “Unable to access jarfile /usr/local/bin/../lib/mxmlc.jar”

    Caso saiba como resolver isso ficaria grato.

    abraço.

    • http://www.elvis.eti.br/ Elvis Fernandes

      Olá, Diemesleno!

      Veja se você configurou o seu PATH para que ele contenha o caminho do SDK do Flex, assim como indicado no site do RestfulX:

      Before you start you might want to add Flex SDK bin folder to your $PATH variable if you haven’t already. This will allow you to invoke commands such as mxmlc from the command line and run rake tasks such as rx:flex:build and rx:air:build.

      Obrigado pelo comentário!

  • http://www.diemesleno.com.br Diemesleno

    Olá Elvis novamente.

    Meu problema em executar esta aplicação continua. Fiz da forma que me disse no post anterior “rake rx:flex:build” e mesmo tendo instalado a gem do restfulx eu recebo como mensagem o seguinte:

    “The application was not compiled. Check console for errors. It is possible that ‘(a)mxmlc’ executable was not found or there are compilation errors.”

    O erro que aparece no console é “Unable to access jarfile /usr/local/bin/../lib/mxmlc.jar”

    Caso saiba como resolver isso ficaria grato.

    abraço.

    • http://www.elvis.eti.br Elvis Fernandes

      Olá, Diemesleno!

      Veja se você configurou o seu PATH para que ele contenha o caminho do SDK do Flex, assim como indicado no site do RestfulX:

      Before you start you might want to add Flex SDK bin folder to your $PATH variable if you haven’t already. This will allow you to invoke commands such as mxmlc from the command line and run rake tasks such as rx:flex:build and rx:air:build.

      Obrigado pelo comentário!

  • http://www.diemesleno.com.br/ Diemesleno

    Olá Elvis,

    Eu baixei a nova versão do Flex Builder (Alpha 4), e o novo Flex SDK 4 para meu Ubuntu. Configurei o PATH e agora está funcionando perfeitamente.

    Obrigado pelas dicas. Realmente é impressionante o desenvolvimento de aplicação flex + rails.

    Abraço.

  • http://www.diemesleno.com.br Diemesleno

    Olá Elvis,

    Eu baixei a nova versão do Flex Builder (Alpha 4), e o novo Flex SDK 4 para meu Ubuntu. Configurei o PATH e agora está funcionando perfeitamente.

    Obrigado pelas dicas. Realmente é impressionante o desenvolvimento de aplicação flex + rails.

    Abraço.

  • http://blog.lucascaton.com.br/ Lucas Catón

    Elvis, parabéns pelo post!

    Pra colaborar: quem estiver com o mesmo problema que o Diemesleno, é só configurar o PATH:

    Abra o arquivo /home/your_name/.bashrc ou similar e inclua a seguinte linha no final do arquivo:
    export PATH=$PATH:/opt/flex_builder/sdks/3.0.0/bin

    Lembre-se que você tem que alterar o “/opt/flex_builder” para o diretório onde o seu flex esteja instalado.

  • http://blog.lucascaton.com.br/ Lucas Catón

    Elvis, parabéns pelo post!

    Pra colaborar: quem estiver com o mesmo problema que o Diemesleno, é só configurar o PATH:

    Abra o arquivo /home/your_name/.bashrc ou similar e inclua a seguinte linha no final do arquivo:
    export PATH=$PATH:/opt/flex_builder/sdks/3.0.0/bin

    Lembre-se que você tem que alterar o “/opt/flex_builder” para o diretório onde o seu flex esteja instalado.

  • Pingback: Introdução ao RestfulX | Elvis Fernandes

  • alexsistemas

    Achei muito interessante a aplicação de exemplo mas acho que nao consegui configurar o ambiente do ruby on rails
    ja desistalei e instalei varias vezes mas mesmo assim. continua esse erro

    Estou Utilizando o Windows 7

    Instalei o ruby1.9
    Instalei os ruby gems
    Instalei o rails 2.3.5
    Instalei o restfulx 1.2.4

    e nao consegui

    Erros Ruby on rails Flex

    C:/Ruby19/lib/ruby/gems/1.9.1/gems/rails-2.3.5/lib/rails/gem_dependency.rb:119
    Warning or after August 2010. Use #requirement

    Conto com ajuda de voces

  • alexsistemas

    Pessoal ja entedi isso e apenas um warning e nao vai faze nenhuma diferenca obrigado e ate ++