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,008 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
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,008
On SlideShare
0
From Embeds
0
Number of Embeds
55
Actions
Shares
0
Downloads
101
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

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

×