Arquivos...

Todos os posts de fevereiro

Desenvolvimento RIA – Parte 2

fevereiro 18th, 2007

Dando continuidade aos posts sobre desenvolvimento RIA com Flex e Ruby on Rails, neste quero fazer uma introdução ao mx:HTTPService do Flex, neste exemplo mostro esta segunda alternativa ao WebOrb, aqui temos na prática um exemplo de como realizar leitura e pesquisa no RSS Perguntas e Respostas fornecido pelo Fórum Ruby on Br.
Para visualizar o código fonte do exemplo clique com botão direito sobre ela em seguida View Source.



A tag < mx: HTTPService > representa o objeto HTTPService do actionScript em seu código fonte MXML. Quando você chama o objeto HTTPService passando o método send(), ele envia ou recebe métodos HTTP, como GET ou Post, podendo até mesmo passar parâmetros para uma url especificada.

id="perguntas_e_respostas"
useProxy="false"
url="http://forum.rubyonbr.org/forums/1/posts.rss"
showBusyCursor="true"/>

Neste exemplo instânciamos a primeira lista que será aberta logo que a aplicação iniciar initialize=”{perguntas_e_respostas.send();}”, em url temos o caminho do xml gerado pelo Rss do fórum. Para enviar esta solicitações basta fazer perguntas_e_respostas.send();

id="realiza_pesquisa"
useProxy="false"
url="http://forum.rubyonbr.org/posts.rss"
method="GET"
result="{grid_lista.dataProvider=
realiza_pesquisa.lastResult.rss.channel.item}"
showBusyCursor="true">

{filtro.text.toLowerCase()}

Já neste HTTPService temos uma instância que aguarda para realizar uma pesquisa no RSS do fóum, esta pesquisa será gerada porque dizemos que o método passado é “GET” e o valor digitado no campo filtro é passado como paramêtro da query, então temos ?q=valor_a_pesquisar.

Para realizar a pesquisa basta digitar algo no campo e clicar no botão Ok, então temos.

id="btn_enviar"
click="{realiza_pesquisa.send()}"/>

O componente DataGrid do Flex tem uma propriedade chamada dataProvider é ela que define quem será o provedor de informações a qual ira preencher as linhas da grid.

dataProvider=”{
perguntas_e_respostas.lastResult.rss.channel.item}”

Este dataProvider recebe o resultado da pesquisa recebidas pelos HTTPServices.

Esta é a forma mais usada para receber e enviar dados para o servidor, pois você tem a liberdade de usar qualquer tipo de linguagem do lado servidor, desde que ela forneça um XML para o HTTPService. Existem alguns desenvolvedores
que dizem que este método pode deixar as requisições um pouco mais lentas, assim que sobrar um tempo eu vou realizar um Benchmark do Weborb e do HTTPService para comparar, em seguida eu posto aqui ;-)

Obs: A identação do meu blog não anda legal :(

Isso aí, espero que tenha gostado.

Grande abraço

Flex + Rails

Desenvolvimento RIA ( Primeiro post de 2007 )

fevereiro 18th, 2007

Estamos começando mais um ano com muitos projetos e idéias para serem desenvolvidas, este ano nosso foco é desenvolvimento RIA, aplicações que além de serem bonitas visualmente, vão proporcionar novas experiências e usabilidade aos usuários finais.

Uma união que tem dado certo é Ruby on Rails, WebOrb e Flex. Com estes três seres que não são de outro planeta pois já são realidades é possivél ter um desenvolvimento ágil e profissional, com uma curva de aprendizado extremamente baixa.

Agora imagine ter todo o poder do Ruby on Rails para cuidar das suas regras de négocios do lado do servidor, em seguida entra uma nova camada ORB que irá permitir que os serviços e classes estejam disponí­veis para o front-end de suas aplicações, assim levando todo o poder de uso de uma aplicação desktop para sua aplicação web. É isso que quero proporcionar neste ano de 2007, muitas novidades vem por ai, e uma delas é uma sériee de artigos sobre desenvolvimento RIA unindo estes três tecnologias.

Já neste primeiro post quero começar a fazer uma breve introdução ao WebOrb.

WebOrb é uma tecnologia que permite a conectividade entre Ruby on Rails e aplicações desenvolvidas em Flex e tecnologias que usam Flash Remoting. O WebOrb para Rails é instalado como um plugin na sua aplicação e expõeas classes para serviços remotos, o produto fornece um completo acesso aos protocolos implementados pela Adobe, AMF0 e até mesmo o AMF3.
Os projetos desenvolvidos em Flex SDK ou em Flex Builder podem ser configurados facilmente atravez de DataServices ou RemoteObject.Então imagine que você tenha um serviço disponível em sua aplicação rails chamado ListaUsuariosService.

# Serviço disponível

# Classe ListaUsuariosServicerequire ‘weborb/context’

require ‘rbconfig’

class ListaUsuariosService

def getListagem

@usuarios = Usuario.find(:all)

return @usuarios

end

end
Esta classe estará disponí­vel para sua aplicação Flex realizar a comunicação via ORB logo depois de configurada em seu remoting-config.

ListaUsuariosService Agora é hora de instanciar o serviços em sua aplicação flex através de um RemoteObject.Algo como:

UsuariosController = new RemoteObject();
UsuariosController.destination = “ListaUsuariosServices”;

Depois de instanciado a destinação da classe, você já pode realizar a comunicação direta com os méodos disponí­veis na classe ListaUsuariosService.

UsuariosController.getListagem();
UsuariosController.getListagem.addEventListener(“result”,
resultadoDaListagem);
UsuariosController.addEventListener(“fault”,onFault);

Se não houve nenhum problema é adicionado um evento que recebe o retorno da consulta solicitada, então você pode chamar diretamente uma função que irá trabalhar com os dados, ex:

private function resultadoDaListagem(event:ResultEvent) :void {

if (event.result.usuarios!= null &&

event.result.usuarios != “”){

Alert.show(“Olá ” +

event.result.usuarios.usuario.nome);

}

}
Agora se houve algum tipo de erro então é enviado a uma outra função, ex:

public static function onFault(event:FaultEvent):void{

Alert.show(“Houve um erro ao tentar

processar a listagem de

usuários cadastrados..”);

}
Bom por enquanto é isso, nas próximas vamos praticar um pouco.

Grande abraço.

Flex + Rails

2007 visual novo vida nova

fevereiro 18th, 2007

Lá se vai mais um ano, ano este de muito trabalho e muito aprendizado, ano que caí­mos, levantamos, perdemos e aprendemos, mas se foi, hoje damos Graças a Deus por tudo o que ele tem feito em nossas vidas, por cada detalhe, pelas amizades conquistadas, porque estas vão sempre fazer a diferença e ser lembradas.

Este ano de 2006 muita coisa aconteceu, conhecemos e aprendemos tecnologias novas como Ruby on Rails, montamos nossa plataforma de desenvolvimento com pequenos detalhes que deram a nós da e-Genial uma nova perspectiva e esperança que estamos caminhando na trilha certa, ainda somos novos mas não nos cansamos de aprender e aprender mais a cada dia que passa, assim foi 2006. Hoje podemos olhar para tráz e ver que tudo teve um propósito, propósito de Deus para nossas vidas.

Quero agradecer a todas as pessoas que direta ou indiretamente fizeram parte de nossas vidas neste ano de 2006, mesmo aquelas que somente houve uma comunicação rápida e passageira que Deus abençõe a todos.

Esta chegando um novo ano, ano este que nós aqui da e-Genial vamos buscar sempre o caminho e reto de Deus para nossas vidas, muita coisa nova esta por vir e vamos estar sempre atentos para não deixar nenhuma oportunidade passar despercebida em nossa porta. Já iniciamos o ano com um Site novo também desenvolvido com tecnologias que começamos a investir a alguns meses. Nossos objetivos e alvos para 2007 foram lançados!!!

Se alguém está em Cristo é nova criatura, as coisas antigas já passaram, eis que tudo se fez novo (II Corí­ntios 5.17).

Minha vida física

O que fazer em 30 minutos com Rails + Flex ?

fevereiro 18th, 2007

Bom aqui vai mais uma aplicação Made-Fast :) .

Esta aplicação realiza busca por ví­deos no YouTube, assuntos relacionados a programação, Rails, ruby, flex, ajax, web 2.0 e outra coisas do teu interesse. Ela foi desenvolvida em 30 minutos, 1 controller com apenas 20 linhas para criar o algoritmo que fornece o caminho do arquivo .flv para mostrar no VideoDisplay, já no lado cliente ou seja o que foi desenvolvido com Flex foram gastas 112 linhas, para fazer todo o visual, e perfumarias.

# Controller# Requisita o arquivo de video

def getFlv

   @caminho = "http://www.youtube.com/get_video?video_id="

   + params[:id_video]

   h = Net::HTTP.new('www.youtube.com', 80)

    resp, data = h.get("/watch?v=" + params[:id_video], nil )

if (resp.code == "200")

      @data = /&t=[^&]*/.match(data)[0]

      @arquivo_flv = @caminho+@data

      @converts = {"arquivos"=>{"arquivo"=>@arquivo_flv}}

      render :x ml => @converts.to_xml

    else

      render :text => "Falhou: " + resp.message

   end

end

# Proxy Http para realizar a comunicação

# com a API do YouTub

def getConsulta

 res = Net::HTTP.get_response(URI.parse("http://www.youtube.com/"

+"api2_rest?method=youtube.videos.list_by_tag"

+"&dev_id=ID_DO_DEVELOPER&tag="

+ params[:params]))

  render :x ml => res.body

end

Obs: Em URI.parse eu quebrei somente para ficar bacana aqui no blog.
Para acessar a aplicação Clique aqui

E viva a produtividade!

Flex + Rails

*.*.Feliz Aniversário!!!.*.*

fevereiro 18th, 2007

Olá Galera, dia 21 de Dezembro é anivérsario da minha esposa Erenice, que Deus continue abençõando a vida dela com toda sorte de benção e prosperidade, que muitos e muitos anos de vida e sucesso acompanhe ela ! Parabéns Mime !

E como não podia ser diferente dia 22 de Dezembro é o meu!

Minha vida física

Pegadinhas do Ajax on Rails

fevereiro 18th, 2007

Hoje todo mundo quer fazer a diferença em suas aplicações, seja criando um layout bacana, um ajax ali, outra RIA aqui… Eu precisei usar desses artifí­cios para personalizar e mover elementos de uma lista usando um sortable_element, pow quase fiquei loco! A idéa era algo parecido com:

< ul id="lista" >< li id="1">a

< li id="2">b

< li id="3">c

< li id="4">d



<%= sortable_element "lista",  complete => visual_effect(:highlight, "produtos"),

:url => { :action => "pos_cotacao"} %>

Até ai tudo bem, ele movimenta normalmente os elemetos < li > do meu < ul > lista, mas a action não é executada ! Macacos me mordam…. e agora!

Bom, em seguida eu entrei em contato com o Zé Colmea e ele me disse que, para a action entender quais foram os produtos movimentados é preciso que o id do < li > receba um nome sugestivo algo como: produtos_a, produtos_b.

Então resumindo… Apartir do que estiver depois do _ é o que vai ser passado por parâmetro, Perai Carlão! Então seria bacana fazer algo com o código(id) real do produto, já que vou receber ele em uma action para trata-la no banco de dados?

Claro porque não ? Neste caso poderia fazer algo como:

    <% @produtos.each do |coluna| %>
  • <%= coluna.nome_produto%>
  • <% end -%>
<%= sortable_element "lista", :complete => visual_effect(:highlight, "lista"), :url => { :action => "pos_cotacao"} %>
#Controller
def post_cotacao @parametros = params[:lista]end

Viram ?

Bom fica ai a dica, qualquer dúvida só postar.

Grande abraço

Ruby on Rails

RubyonBr RiAgregador

fevereiro 18th, 2007

Olá pessoal, estava eu aqui coçando sem fazer nada, quando resolvi fazer alguma coisa legal, então gostaria de apresentar a vocês o RiAgregador, é um sistema feito em Flex 2.0 + Rails desenvolvido em 1 hora, ele lê os últimos posts do fórum Ruby on Br, realiza pesquisas, e de cara tem um pequeno chat para a comunidade :)

Quem tiver alguma sugestão ou melhoria vai postando ai pra gente, para acessar a aplicação Clique aqui, só lembrando que, como é feito em flex é preciso a íltima versão do flash player, que é a 9, tanto para windows quanto pra linux.

Foi usado somente 1 model + 1 controller com duas actions, o parser do Rss é feito automaticamente pela aplicação Flex, usando dataProvider.

Grande abraço ;-)

Flex + Rails

Base de conhecimento=>”Código fonte liberado”

fevereiro 18th, 2007

Estou liberando o código fonte da Base de conhecimento para fins de estudos, esta aplicação foi desenvolvida em Ruby on Rails e Flex 2.0, na raiz do projeto tem o README para mais detalhes.

Fique a vontade para brincar e aprender com esta integração ;-)

Para realizar download clique Aqui

——————————————————————————-

The source-code of knowledge database is now available for learning. This application was developed in Ruby on Rails and Flex 2,0. In the root of the project has a README file for more details.

Enjoy it and feel free to play and learn with this integration ; -)

Download Here

Carlos Eduardo

Flex + Rails

Tomcat o gato amado

fevereiro 18th, 2007

Bom, eu não poderia deixar de apresentar ao mundo nosso gato, o Tomcat, o gato faz tudo e mais um pouco, só falta falar e desenvolver em Ruby on Rails ;-)



Minha vida física

RadRails Introdução

fevereiro 18th, 2007

Olá pessoal como sempre por aqui na e-Genial as coisas anda muito corridas graças a Deus muito trabalho, o curso de Rails online vai sair, ainda estamos definindo algumas coisas, mais assim que tiver novidades posto por aqui.

Novo tutorial RadRails

Hoje sabemos que desenvolver aplicações web utilizando ruby on rails já é produtivo por si só, seja usando qualquer editor de texto como o vi ou até mesmo o bloco de notas. A curva e tempo de aprendizado ainda é muito pequena, mas como se não bastasse, ainda existem formas de melhorar esta produtividade no desenvolvimento do dia dia usufruindo de sintaxes highlight, auto complete code, debug´s e testes automatizados. “A ferramenta” assim tão completa chama-se RadRails que começou a ser desenvolvida em setembro de 2005 e é mantida por Marc, Kyl e Matt, que amam Rails e Eclipse, assim como eu.

Eu escrevi um novo tutorial ensinando a instalar e configurar o RadRails Clique aqui para baixar, e boa leitura ;-)

Ruby on Rails