Olá Pessoal. Escrevi durante muito tempo no iMasters sobre Zope, e a partir de agora vou me dedicar mais à comunidade Flex, com matérias sobre essa promissora ferramenta, desenvolvendo aplicativos e criando componentes de software.
Espero poder ajudar bastante a todos que se interessem por esta nova tecnologia e, caso tenham dúvidas, por favor, entrem em contato por e-mail. Sugestões para novos artigos também são muito bem aceitos.
Minha linha de desenvolvimento nos artigos iMasters será baseada na tecnologia Flex + PHP, criando através dos artigos um sistema capaz de trazer mais interatividade ao usuário.
Como o Flex funciona?
O Flex tem como base a linguagem Action Script 3.0, junto com uma outra linguagem de desenvolvimento chamada MXML. Com estas duas linguagens, basta compilar para se obter o resultado desejado. Este resultado é um arquivo com a extensão SWF, nativa do Flash Player. Assim, com o SWF, podemos apresentar nosso sistema no Browser do cliente. Veja:

Quando criamos um aplicativo no Flex, o SWF é gerado e então você pode publicá-lo na web. O processo é muito semelhante ao Flash mesmo. O que precisamos ter em mente é que, quando uma pessoa acessa o nosso sistema em Flex, o arquivo SWF é baixado para o computador da pessoa (Cache do Browser). Como o SWF está no cliente, não existe uma forma de conectar no banco de dados e realizar outras operações, que são exclusivas de um servidor.
A saída é utilizar uma linguagem que roda no servidor, tal como PHP, ASP, Java, etc. Com esta outra linguagem de script, rodando no lado do servidor, temos um grande ganho de interatividade com o usuário.
Formas de conexão com o servidor
Existem atualmente 3 meios de comunicação entre um aplicativo Flex (lembre-se, o swf que está na máquina do cliente) e o seu servidor, veja:
RemoteObjects: É a forma de conexão mais rápida. A comunicação entre o cliente e o servidor é realizada de forma binária, com os dados comprimidos. É utilizado um padrão de comunicação chamado AMF (Action Message Format), no qual o servidor deve estar preparado para "entender" tal padrão. Isso siginifica que somente uma linguagem de script ao lado de servidor não basta. Você precisa de algo a mais nela, como um plug-in (ou uma extensão).
Felizmente já existe um ótimo produto para o PHP, chamado de AMFPHP, no qual iremos utilizar em nossos artigos. Ele é simples de instalar e fácil de usar.
HTTPService: usa o protocolo HTTP para comunicação, deixando-o lento. Neste caso, o cliente somente irá ler o que o script do servidor fornecer. A maioria dos scripts em flash são feitos assim, com o servidor retornando algo do tipo "variavel1=valor1&variavel2=valor2..." Iremos fornecer um exemplo para melhor exemplificar este caso, em um próximo artigo.
WebService: estão ficando cada vez mais famosos na internet, por se tratar de um padrão de comunicação entre plataformas e aplicativos distintos. Mas os webservices não passam de um simples XML, lidos através do protocolo SOAP. Também são lentos e não serão utilizados em nossos artigos.
Iremos nos aprofundar muito no RemoteObject, utilizando o PHP com a extensão AMFPHP. As outras duas formas de comunicação serão abordadas superficialmente.
Preparando o nosso servidor web
Antes de continuarmos, iremos comentar rapidamente como criar de forma muito simples um servidor no seu computador, para que você possa trabalhar com o PHP.
Lembrando que, se você já tem um servidor php pronto para usar, não precisa ler este tópico.
Existe um software muito bom chamado XAMPP, que se trata de um conjunto de serviços para que você possa ter um servidor web rodando em sua máquina. Ele é tão simples que nem precisa de instalação, bastando apenas que você coloque a pasta do programa no seu diretório raiz, por exemplo, c:\.
Para baixar o XAMPP, acesse: http://www.apachefriends.org/en/xampp-windows.html e baixe o arquivo: XAMPP Lite X.X.X, onde o X é o número da versão. No desenvolvimento deste artigo, a versão era 1.5.4. Não se esqueça de baixar o arquivo ZIP e não o instalador.
Após baixar o ZIP, descompacte no seu diretório raiz "c:\" .
Após descompactar, rode o arquivo: "c:\XAMPPLITE\xampp-control.exe" que é um controlador com 4 serviços: Apache, MySql, FileZilla, Mercury.
Por enquanto, o único serviço que você precisa é o Apache, que já vem com o PHP. Clique no botão "Start" e verifique se a mensagem "Running" fica presente ao lado do botão.
Caso você clique no "Start" do Apache, e este não funcione, você precisará verificar o que fez o Apache cair. Acesse: "c:\XAMPPLITE\apache_start.bat" e veja o motivo.
Um dos erros mais prováveis é de outro servidor (outro apache, IIS, Xitami, etc) estar usando a porta 80. Você precisa parar estes serviços antes de continuar.
Se a mensagem "Running" continuar a ser mostrada, o apache foi iniciado com sucesso, então você já pode acessar o endereço: http://localhost.
Surge uma tela com diversas opções (menu a esquerda), entre elas o "phpinfo". Basta clicar nela e verificar se seu PHP está funcionando.
Com o nosso servidor web funcionando, nós podemos começar nossos artigos e mostrar diversas funcionalidades do flex+php.
Abraços Pessoal!
Você citou,
"RemoteObjects: É a forma de conexão mais rápida. A comunicação entre o cliente e o servidor é realizada de forma binária, com os dados comprimidos. (...)".
Estou desenvolvendo um jogo em flash + php e utilizei uma conexão via socket e xml para se comunicar.
Gostaria que você me tirasse uma duvida, se o RemoteObjects faria esse papel com mais agilidade que a socket ?
Os textos publicados neste espaço são de responsabilidade única de seus autores (colunistas e leitores) e podem não expressar necessariamente a opinião do iMasters.
Daniel Schmitz é Desenvolvedor Web desde 1998. Sempre atento a novas tecnologias, já criou artigos sobre Zope, Flex e PHP. Atualmente é Analista de Sistemas da Prolink Tecnologia LTDA."
2001 - iMasters FFPA Informática Ltda - Todos os direitos reservados.