Category Archives: Flex

Utilizar ZendAMF com Laravel 3

Bem, com meu histórico de amor e ódio com o Flex Framework (mais amor, diga-se), uma das primeiras tentativas de integração Laravel foi com o ZendAMF, implementação do protocolo AMF feita pela equipe Zend.

Foi necessário gastar um pouco de tempo com pesquisa, mas no final a integração foi tranquila. Uma das características do Laravel que o fazem ser tão bom é a facilidade de integração com bibliotecas externas. Sabendo disso, bastou iniciar a integração, entender os pulos-do-gato e correr para o abraço.

Segue o roteiro, passo a passo:

1) O primeiro foi imaginar onde eu poderia acomodar a biblioteca. A pasta /application/libraries seria uma boa escolha, porém, como o ZendAMF é um pouco complexo, com diversas classes e pastas, optei por criar um bundle. Adotei esta abordagem por dois motivos: sendo um bundle, as classes do ZendAMF ficariam a disposição do Laravel (e vice-versa) e o bundle possui o arquivo start.php, que é executado cada vez que o bundle é executado.

Item 1

Item 1

2) Uma vez que a library foi adicionada na pasta /bundles, é necessário informar ao Laravel que o bundle existe e precisa ser executado. Isso é feito no arquivo /application/bundles.php.

Item 2 - informar ao Laravel que o bundle precisa ser iniciado

Item 2 – informar ao Laravel que o bundle precisa ser iniciado

3) Agora, no arquivo start.php do bundle, adiciona-se a pasta library do ZendAMF ao class path do PHP. Isso é um tanto estranho, mas o ZendAMF é meio estúpido com includes. Melhor não brigar com gente estúpida. Utilizando a classe Autoloader do Laravel, adiciona-se os diretórios do Bundle que se precisa ter acesso pelo Laravel.

Item 3) Adiciona-se a pasta library ao class path do PHP

4) Agora é preciso criar uma URL para funcionar como gateway para chamadas a partir do Flex. Para simplificar as coisas, criei uma rota diretamente no arquivo application/routes.php, chamando-a de ‘/amf’ e ali no closure, criei uma instância do ZendAMF Server. Será ali também que abrirei acesso às classes que serão acessadas pelo Flex (VOs incluídos). É importante notar que a rota responderá a uma chamada POST, que é o verbo HTTP utilizado pelo RemoteObject do Flex. Para utilizar, basta colocar sua URL no RemoteObject do Flex. Ex.: endpoint=”http://<sua_url>/amf”.

Item 4) Cria-se a rota e nela o server AMF

Item 4) Cria-se a rota e nela o server AMF

5) Para manter nosso código organizado, criaremos nossas classes expostas ao Flex dentro de nosso bundle. Como estamos trabalhando com Laravel, todas as classes deste estão disponíveis para o bundle, sem que se precise fazer nada especial. No exemplo abaixo, foi utilizado um model chamado Produto, que estende Eloquent.

Item 5) A classe exposta ao Flex

6) Para finalizar (e este passo é opcional), é preciso adicionar à resposta que esta é do tipo AMF. Ter ou não esta informação não faz qualquer diferença ao Flex, porém, se você utiliza para debug uma ferramenta como Charles Proxy, este não exibe corretamente os dados caso o Content-Type não se passado como application/x-amf. Para isso, basta criar na rota ‘/amf’ um filtro do tipo after e ali determinar o Content-Type.

Item 6) Adiciona-se o Content-Type à resposta HTTP

Item 6) Adiciona-se o Content-Type à resposta HTTP

E é isso!

Vale lembrar que o mesmo procedimento pode ser utilizado para outros componentes do Zend Framework. Basta tentar!

Grande abraço,

Vedovelli

Curso Flex Framework por Fábio Vedovelli #soudev

Há três meses lancei uma pesquisa utilizando o Google Docs, para verificar se um curso de Flex Framework seria bem aceito, se teríamos público suficiente para viabilizar sua criação. Confesso que estava cético, mas lancei a pesquisa assim mesmo. Ela ficou no ar por apenas 48 horas, pois no mesmo dia eu já tinha minha resposta: 62% dos 101 que responderam disseram SIM ao curso.

Por algum tempo refleti sobre o porque desta quantidade e cheguei à conclusão de que muitos sistemas legados ainda precisam de manutenção e também que, possivelmente, muito simpatizantes ainda utilizam a tecnologia. Digo isso pois, caso você não saiba, o Flex foi doado à Apache Foundation pela Adobe. Na época (novembro de 2011) o anúncio foi feito de forma muito desastrada e o mercado ficou com medo de utilizar a tecnologia. Atualmente, muitas perguntas foram respondidas e a situação ficou bem clara. Acontece que no processo de transferência o desenvolvimento do Flex Framework está parado. E os concorrentes se mexendo.

Particularmente eu acredito que o Flex ainda evoluirá muito (pois o desenvolvimento está agora nas mãos da comunidade) e que será bastante utilizado por empresas e profissionais freelancers. Seu ambiente de desenvolvimento e o resultado gerado durante o desenvolvimento compensam a aposta na tecnologia.

Este curso tem como alvo os profissionais que já participavam de algum projeto em desenvolvimento com Flex e que se viram sem ter um treinamento a disposição, pois todos os instrutores, escolas e parceiros da Adobe pararam suas atividades de forma repentina.

Mas mesmo que você não faça parte deste grupo, mas queira aprender conceitos essenciais para desenvolvimento de interfaces, tais como orientação a objetos, eventos, callbacks e design patterns, o curso lhe será muito válido. A parte de controle de versão também será bastante interessante.

Venha até o site e conheça o conteúdo oferecido! Será um prazer tê-lo como aluno.

www.cursoflex.com.br

Em tempo: estamos montando uma lista para envio de newsletter. Caso queira ser informado sobre lançamentos futuros, utilize o seguinte link (http://eepurl.com/o6py9) para fazer sua assinatura.

Grande abraço,

Vedovelli

Screencast: Instalação do GIT no Windows 7 e primeiros passos no GitHub #soudev

Percebendo a dificuldade de alguns alunos com o GIT no Windows, principalmente pela falta de prática com a linha de comando, decidi gravar este screencast mostrando o quão fácil é instalar, criar repositórios GIT locais e fazer push (envio) do seu código fonte para um repositório remoto no GitHub.com.

Bons estudos!

Arquivos da palestra no Flex Mania 2011

Em primeiro lugar agradeço quem participou do evento e assistiu a minha palestra. A aprovação foi grande, o que motiva a fazer mais!

Para fazer o download dos slides e código fonte do projeto, acesse http://dl.dropbox.com/u/483575/flexmania2011_vedovelli.zip

A gravação é de responsabilidade dos organizadores do evento. Com isso quero dizer que não sei quando será liberada! Conto com sua comrpeensão!

Ved

 

Google Product Search: app mobile desenvolvida com Flex

Neste screencast utilizei o webservice do Google Product Search para montar uma lista de produtos com busca, thumbnail, fabricante, descrição e valor. Também uma segunda view com detalhes do produto selecionado e para finalizar um botão que leva à página para a compra do produto. Uma aplicação relevante, com poucas linhas de código e nenhuma dor de cabeça.

Screencast pode ser visto no VXTra.org. Link: http://www.vxtra.org/screencasts/google-product-search-app-mobile-desenvolvida-com-flex/

Primeira app Flex mobile disponível no Android Market

Eu bem que gostaria de contar com mais tempo para explorar todos os novos recursos para desenvolvimento mobile trazidos pela versão 4.5 do Flash Builder. Felizmente poder utilizar todos os conhecimentos que venho adquirindo ao longo dos anos facilitou bastante a criação da minha primeira aplicação Android a chegar ao Market.

A app consiste em duas abas, uma mostrando uma lista com todos os posts deste blog e a outra mostrando meus 15 twits mais recentes (@vedovelli). A utilidade da app é filtrar a lista de posts, procurando por algum tema específico, como screencasts, um tema bem popular nas buscas realizadas no blog.

Para instalar (a app é obviamente gratuita), basta procurar por vedovelli no app do Android Market do seu celular. Ou então acessar o link https://market.android.com/details?id=air.org.vxtra.vedovelli. Ou ainda utilizar o QR Code no canto superior direito da página. Não tem desculpa.

Alguns dados técnicos:

  • Utilizei o Flash Builder 4.5;
  • também o Swiz Framework, que se mostrou fundamental para acelerar o processo, levando em consideração que a forma de acessar as views não me é inteiramente conhecida;
  • Os posts do blog são trazidos via RemoteObject e os twits por HTTPService em XML;
  • No geral o desenvolvimento foi bem próximo do conhecimento que eu já possuia, tendo eu que pesquisar apenas para trabalhar corretamente com estilos e ItemRenderers.

Utilizarei esta app para gravar um screencast demonstrando o processo.

Seguem alguns printscreens.







Overview do Flash Builder 4.5 for PHP

O Flex 4 e sua IDE, rebatizada para Flash Builder mudou bastante (e para melhor) a forma de desenvolver aplicações em ricas. Agora o Flash Builder 4.5 muda mais ainda e ao meu ver, é a atualização mais significativa desde o lançamento do Flex Framework, lá em 2004.

As novidades mais marcantes nesta versão:

  1. Possibilidade de desenvolvimento de apps para Android usando seus conhecimentos Flex (logo mais também para iOS e Blackberry Playbook)
  2. Templates de código
  3. Refactoring aprimorado
  4. Performance na compilação
  5. SWF final menor em MBs.

Veja o screencast especialmente preparado para demonstrar estes novos recursos.

http://www.vxtra.org/screencasts/overview-do-recem-lancado-flash-builder-for-php-4-5/

Treinamento de Frameworks para Flex

Sábado agora se inicia a terceira turma do treinamento de Flex Frameworks pela E-genial. Serão dois sábados, das 8h ao meio dia, nos quais serão demonstrados dois dos mais populares frameworks Flex: o Swiz e o Mate. O investimento é de R$230,00 e lhe dá direito a frequentar as aulas online, receber as aulas gravadas, o código fonte das aplicações demonstradas e acesso ao grupo de estudo. Bem completo!

As inscrições podem ser feitas até esta sexta-feira!

 

Treinamento online que abordará os dois mais populares frameworks MVC para Flex: o Swiz e o Mate. Curta duração e baixo investimento.

Desenvolva aplicações Flex
como fazem os pros!

próxima turma: 16 de abril de 2011

www.egenial.com.br/swizmate

Mudança de rumo!

Durante este primeiro trimestre, enxergamos um nicho de mercado que tem crescido muito na cidade de São Paulo: peixe fresco! Assim, decidimos partir para uma vida longe dos computadores e mais perto da natureza. Nossa rotina a partir de agora será descer a serra, todos os dias por volta das 3h da madrugada, com nossas recém adquiridas Kombis, para buscar peixe e entregar ainda de manhã a nossos novos clientes!

Agradecemos quem nos acompanhou em nossa jornada no mundo do desenvolvimento de sistemas e desejamos sorte a todos!

Um abraço,

Ved e Marcos, RIA Labs