Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
1º WorkShop PHPMS – PHP
         Extremo




     patrocínio:
Aplicações com mais do que um
rostinho bonito - PHP + Adobe Flex



           Cauan Cabral
Tópicos
RIA's – isso é novo?
FLEX – uma alternativa atraente;
AMF – a língua natural;
AMF e PHP – opções para todos os gos...
RIA's – isso é novo?

O que é RIA:
  RIA – Rich Internet Application
  Define uma classe de aplicações que rodam
   direto...
FLEX – uma alternativa atraente
FLEX – SDK open-source para desenvolvimento de
  RIA;
Utiliza plataforma Flash;
Utiliza-se...
FLEX – uma alternativa atraente
Aplicação FLEX é executada no computador do
 usuário (client-side);
Alguma forma de comuni...
AMF – a língua natural

FLEX possui um formato próprio de
 comunicação – Action Message Format
 (AMF);
O AMF é um formato ...
AMF – a língua natural




   Fonte: http://www.jamesward.com/census/
AMF e PHP – opções para todos os
            gostos
 Do lado cliente não precisamos nos
  preocupar com o formato AMF – el...
AMF e PHP – opções para todos os
            gostos
 AMFPHP – Uma das primeiras implementações,
  está sem desenvolvimento...
AMF e PHP – fluxo de trabalho

   Cliente                                      Servidor

 navegador/                      ...
AMF e PHP – fluxo de trabalho
Cliente: para apresentar informações ao usuário, faz
  requisição dos dados ao servidor;
Ser...
AMF e PHP – fluxo de trabalho

O servidor funciona como um webservice;
Recebe requisição → Processa → Retorna
 resultado;
...
CakePHP – cozinhando os serviços

CakePHP é um framework PHP popular que
 implementa reconhecidos padrões de
 desenvolvime...
CakePHP – cozinhando os serviços

Separação dos ambientes “cliente” e
 “servidor”;
Utilizando o CakePHP construímos uma
 a...
CakePHP e AMF – é fácil falar essa
           língua?
 Assim como o PHP, o CakePHP ainda não
  possui uma implementação pa...
CakePHP e AMF – é fácil falar essa
           língua?
 Formas de integração:
   AMFPHP – podemos usar a biblioteca AMFPHP
...
CakePHP e AMF – é fácil falar essa
           língua?
 Formas de integração:
   CakeAMF – plugin que possui como
    desen...
Aplicação de Exemplo – Pagode

O que é o Pagode:
  Aplicação simples para controle das finanças
   pessoais;
  A aplicação...
Aplicação de Exemplo – Pagode

Criando a aplicação utilizando o CakePHP;
Precisamos apenas definir o banco de dados
 de no...
Adicionando Flex a receita do bolo

Utilizaremos:
  AMFEXT;
  CakeAMF para integrar o AMFEXT ao CakePHP.
Idéia:
  O plugin...
Adicionando Flex a receita do bolo

Construindo interface da aplicação: um pouco
 de MXML e AS3.
Definindo nosso gateway q...
Dúvidas? Contribuições?

Agora é hora de discutir...
Considerações
Flex é uma alternativa atraente para criação de
  interfaces de sistemas:
   É gratuito (o SDK);
   Sua API ...
Bônus

Para quem trabalha com CakePHP:
  Está para ser lançado, provavelmente nesta
   segunda-feira (13/07/2009), a versã...
Agradecimentos

A todos os presentes;
Aos organizadores;
Aos patrocinadores;
Comunidade CakePHP, em especial aos de
 língu...
Contato...

Email: cauan@radig.com.br
Blog: http://geek.cauancabral.net
MSN: cauanc@gmail.com
Gtalk: cauanc@gmail.com
Twit...
Apoiaram e patrocinaram este
          evento
Upcoming SlideShare
Loading in …5
×

PHP + Flex

4,035 views

Published on

Apresentação sobre a integração entre PHP e Flex, utilizando CakePHP ocorrida durante o 1º Workshop PHPMS - PHP Extremo.
www.radig.com.br / geek.cauncabral.net / phpms.org

Published in: Technology
  • Be the first to comment

PHP + Flex

  1. 1. 1º WorkShop PHPMS – PHP Extremo patrocínio:
  2. 2. Aplicações com mais do que um rostinho bonito - PHP + Adobe Flex Cauan Cabral
  3. 3. Tópicos RIA's – isso é novo? FLEX – uma alternativa atraente; AMF – a língua natural; AMF e PHP – opções para todos os gostos; AMF e PHP – fluxo de trabalho; CakePHP – cozinhando os serviços; CakePHP e AMF – é fácil falar essa língua? Aplicação de exemplo – Pagode; Adicionando FLEX a receita do bolo; Participação de todos (dúvidas?); Considerações; Agradecimentos;
  4. 4. RIA's – isso é novo? O que é RIA: RIA – Rich Internet Application Define uma classe de aplicações que rodam direto da web e dão enfase na experiência do usuário. Exemplo conhecidos: Gmail, Google Docs, Photoshop.com. Podemos criar RIA's utilizando javascript, Flash, Flex, Silverlight, JavaFX,... RIA não é algo novo.
  5. 5. FLEX – uma alternativa atraente FLEX – SDK open-source para desenvolvimento de RIA; Utiliza plataforma Flash; Utiliza-se duas linguagens: MXML e ActionScript; MXML é um XML com tags pré-definidas que podem gerar componentes ou definir ações; ActionScript é uma linguagem de programação, semelhante ao JavaScript que permite controle da aplicação FLEX.
  6. 6. FLEX – uma alternativa atraente Aplicação FLEX é executada no computador do usuário (client-side); Alguma forma de comunicação com o servidor precisa ser estabelecida; Formas usuais: XML (incluindo XHTML), JSON e texto puro; Problema: XML e texto puro consomem muita banda; JSON implica em um overhead, é preciso converter tudo que será enviado para JSON e depois reverter para um formato nativo.
  7. 7. AMF – a língua natural FLEX possui um formato próprio de comunicação – Action Message Format (AMF); O AMF é um formato binário e nativo dentro da plataforma Flash/Flex;
  8. 8. AMF – a língua natural Fonte: http://www.jamesward.com/census/
  9. 9. AMF e PHP – opções para todos os gostos Do lado cliente não precisamos nos preocupar com o formato AMF – ele é nativo; Do lado servidor o PHP ainda não oferece um suporte padrão para o formato (da forma que fornece para o JSON e XML); Existem várias implementações do AMF para PHP e até mesmo EM PHP.
  10. 10. AMF e PHP – opções para todos os gostos AMFPHP – Uma das primeiras implementações, está sem desenvolvimento a mais de 1 ano; AMFEXT – Extensão escrita em C para fornecer suporte ao AMF; Zend_AMF – parte do Zend Framework e fruto de parceria entre Adobe e Zend. Possui como principal desenvolvedor o criador do AMFPHP; WebORB for PHP – solução completa para comunicação utilizando AMF agregada a serviços avançados. Possui versão grátis (limitada) e paga.
  11. 11. AMF e PHP – fluxo de trabalho Cliente Servidor navegador/ Apache / IIS flashplayer Requisição ou envio de dados Resposta Comunicação Utilizando AMF
  12. 12. AMF e PHP – fluxo de trabalho Cliente: para apresentar informações ao usuário, faz requisição dos dados ao servidor; Servidor: recebe o pedido, identifica o conteúdo da mensagem utilizando alguma das implementações do AMF para PHP; Servidor: retorna o resultado de suas operações, também em AMF; Cliente: recebe a resposta e apresenta para o usuário.
  13. 13. AMF e PHP – fluxo de trabalho O servidor funciona como um webservice; Recebe requisição → Processa → Retorna resultado; Há uma boa separação de código (cliente → servidor), o que facilita atualizações e escalabilidade.
  14. 14. CakePHP – cozinhando os serviços CakePHP é um framework PHP popular que implementa reconhecidos padrões de desenvolvimento: MVC e ORM; Possui gerador de código (shell): bake; Facilita TDD; Tem comunidade muito ativa e participativa, além de extensa, inclusive no Brasil.
  15. 15. CakePHP – cozinhando os serviços Separação dos ambientes “cliente” e “servidor”; Utilizando o CakePHP construímos uma aplicação rapidamente; O objetivo do CakePHP é agilizar o desenvolvimento dos nossos serviços. Não há iteração entre o CakePHP e a aplicação Flex além das requisições e respostas.
  16. 16. CakePHP e AMF – é fácil falar essa língua? Assim como o PHP, o CakePHP ainda não possui uma implementação padrão e nativa do AMF; Existem várias formas de se integrar o AMF ao CakePHP;
  17. 17. CakePHP e AMF – é fácil falar essa língua? Formas de integração: AMFPHP – podemos usar a biblioteca AMFPHP dentro do conceito de “vendors”. Incluímos ela ao nosso projeto e chamamos sempre que necessário; CakeAmfPHP – plugin para CakePHP, um dos primeiros a serem desenvolvidos, está parado na versão 0.6 (utiliza AMFPHP);
  18. 18. CakePHP e AMF – é fácil falar essa língua? Formas de integração: CakeAMF – plugin que possui como desenvolvedores parte do CORE Team do CakePHP (utiliza AMFEXT); CpAMF – plugin que tem como base o CakeAmfPHP, possui atualizações constantes (utiliza AMFEXT ou AMFPHP); FlexibleCake – controller que intercepta chamadas e retorna conteúdo AMF (utiliza Zend_AMF);
  19. 19. Aplicação de Exemplo – Pagode O que é o Pagode: Aplicação simples para controle das finanças pessoais; A aplicação do exemplo é um esboço de solução, apenas para demonstrar a iteração do PHP + Flex; O Pagode é um projeto idealizado pelo PHPMS.
  20. 20. Aplicação de Exemplo – Pagode Criando a aplicação utilizando o CakePHP; Precisamos apenas definir o banco de dados de nossa aplicação; Pausa nos slides para a construção da aplicação com o CakePHP..... Para ver o fonte da aplicação, faça um checkout ou export do repositório: http://svn.radig.com.br/pagode
  21. 21. Adicionando Flex a receita do bolo Utilizaremos: AMFEXT; CakeAMF para integrar o AMFEXT ao CakePHP. Idéia: O plugin CakeAMF irá interceptar as requisições e devolver o resultado em AMF.
  22. 22. Adicionando Flex a receita do bolo Construindo interface da aplicação: um pouco de MXML e AS3. Definindo nosso gateway que passará os dados para a aplicação Flex. Visualizando o resultado.
  23. 23. Dúvidas? Contribuições? Agora é hora de discutir...
  24. 24. Considerações Flex é uma alternativa atraente para criação de interfaces de sistemas: É gratuito (o SDK); Sua API gráfica é muito boa – vide o flash player; Capacidade de se conectar através de diferentes tipos de dados (AMF, XML, JSON, …) Unindo a facilidade e poder de “fogo” do Flex removemos as amarras das sandbox para javascript e incompatibilidade de renderização entre browser do html e css.
  25. 25. Bônus Para quem trabalha com CakePHP: Está para ser lançado, provavelmente nesta segunda-feira (13/07/2009), a versão 1.0 do FAKE; FAKE é um framework MVC para ActionScript3, que segue as convenções do CakePHP, tornando mais fácil se adaptar a esta linguagem. http://code.google.com/p/fake-as3/
  26. 26. Agradecimentos A todos os presentes; Aos organizadores; Aos patrocinadores; Comunidade CakePHP, em especial aos de língua portuguesa; Desenvolvedores do AMFPHP e AMFEXT;
  27. 27. Contato... Email: cauan@radig.com.br Blog: http://geek.cauancabral.net MSN: cauanc@gmail.com Gtalk: cauanc@gmail.com Twitter: cauancabral IRC @ Freenode: CauanCabral http://linkedin.com/in/cauancabral
  28. 28. Apoiaram e patrocinaram este evento

×