Your SlideShare is downloading. ×
0
Aplicações com mais do que um rostinho bonito CakePHP + Adobe Flex® Cauan Cabral
Tópicos <ul><li>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;
Dúvidas?;
Considerações; </li></ul>
RIA's – isso é novo? <ul><li>O que é RIA: </li><ul><li>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,... </li></ul><li>RIA não é algo novo. </li></ul>
FLEX – uma alternativa atraente <ul><li>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. </li></ul>
FLEX – uma alternativa atraente <ul><li>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; </li><ul><li>Problema: </li><ul><li>XML e texto puro consomem mui...
JSON implica em um overhead, é preciso converter tudo que será enviado para JSON e depois reverter para um formato nativo....
Upcoming SlideShare
Loading in...5
×

CakePHP + Adobe Flex®, v2

3,714

Published on

Segunda versão da apresentação sobre integração entre o CakePHP e o Adobe Flex®.
Esta apresentação foi utilizada durante o Latinoware 2009, realizado em Foz do Iguaçu/PR - Brasil.

Página do evento: www.latinoware.org

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,714
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
36
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "CakePHP + Adobe Flex®, v2"

  1. 1. Aplicações com mais do que um rostinho bonito CakePHP + Adobe Flex® Cauan Cabral
  2. 2. Tópicos <ul><li>RIA's – isso é novo?
  3. 3. FLEX – uma alternativa atraente;
  4. 4. AMF – a língua natural;
  5. 5. AMF e PHP – opções para todos os gostos;
  6. 6. AMF e PHP – fluxo de trabalho;
  7. 7. CakePHP – cozinhando os serviços;
  8. 8. CakePHP e AMF – é fácil falar essa língua?
  9. 9. Aplicação de exemplo – Pagode;
  10. 10. Adicionando FLEX a receita do bolo;
  11. 11. Dúvidas?;
  12. 12. Considerações; </li></ul>
  13. 13. RIA's – isso é novo? <ul><li>O que é RIA: </li><ul><li>RIA – Rich Internet Application
  14. 14. Define uma classe de aplicações que rodam direto da web e dão enfase na experiência do usuário.
  15. 15. Exemplo conhecidos: Gmail, Google Docs, Photoshop.com.
  16. 16. Podemos criar RIA's utilizando javascript, Flash, Flex, Silverlight, JavaFX,... </li></ul><li>RIA não é algo novo. </li></ul>
  17. 17. FLEX – uma alternativa atraente <ul><li>FLEX – SDK open-source para desenvolvimento de RIA;
  18. 18. Utiliza plataforma Flash;
  19. 19. Utiliza-se duas linguagens: MXML e ActionScript;
  20. 20. MXML é um XML com tags pré-definidas que podem gerar componentes ou definir ações;
  21. 21. ActionScript é uma linguagem de programação, semelhante ao JavaScript que permite controle da aplicação FLEX. </li></ul>
  22. 22. FLEX – uma alternativa atraente <ul><li>Aplicação FLEX é executada no computador do usuário (client-side);
  23. 23. Alguma forma de comunicação com o servidor precisa ser estabelecida;
  24. 24. Formas usuais: XML (incluindo XHTML), JSON e texto puro; </li><ul><li>Problema: </li><ul><li>XML e texto puro consomem muita banda;
  25. 25. JSON implica em um overhead, é preciso converter tudo que será enviado para JSON e depois reverter para um formato nativo. </li></ul></ul></ul>
  26. 26. AMF – a língua natural <ul><li>FLEX possui um formato próprio de comunicação – Action Message Format (AMF);
  27. 27. O AMF é um formato binário e nativo dentro da plataforma Flash/Flex; </li></ul>
  28. 28. AMF – a língua natural Fonte: http://www.jamesward.com/census/
  29. 29. AMF e PHP – opções para todos os gostos <ul><li>Do lado cliente não precisamos nos preocupar com o formato AMF – ele é nativo;
  30. 30. 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);
  31. 31. Existem várias implementações do AMF para PHP e até mesmo EM PHP. </li></ul>
  32. 32. AMF e PHP – opções para todos os gostos <ul><li>AMFPHP – Uma das primeiras implementações, está sem desenvolvimento a mais de 1 ano;
  33. 33. AMFEXT – Extensão escrita em C para fornecer suporte ao AMF;
  34. 34. Zend_AMF – parte do Zend Framework e fruto de parceria entre Adobe e Zend. Possui como principal desenvolvedor o criador do AMFPHP;
  35. 35. 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. </li></ul>
  36. 36. AMF e PHP – fluxo de trabalho Cliente navegador/ flashplayer Servidor Apache Requisição Resposta Comunicação Utilizando AMF PHP MySQL
  37. 37. AMF e PHP – fluxo de trabalho <ul><li>Cliente: para apresentar informações ao usuário, faz requisição dos dados ao servidor;
  38. 38. Servidor: recebe o pedido, identifica o conteúdo da mensagem utilizando alguma das implementações do AMF para PHP;
  39. 39. Servidor: retorna o resultado de suas operações, também em AMF;
  40. 40. Cliente: recebe a resposta e apresenta para o usuário. </li></ul>
  41. 41. AMF e PHP – fluxo de trabalho <ul><li>O fluxo de trabalho é semelhante ao de uma aplicação Ajax;
  42. 42. Recebe requisição -> Processa -> Retorna resultado;
  43. 43. Há uma boa separação de código (cliente -> servidor), o que facilita atualizações e escalabilidade. </li></ul>
  44. 44. CakePHP – cozinhando os serviços <ul><li>CakePHP é um framework PHP popular que implementa reconhecidos padrões de desenvolvimento: MVC e ORM;
  45. 45. Possui gerador de código (shell): bake;
  46. 46. Facilita TDD;
  47. 47. Tem comunidade muito ativa e participativa, além de extensa, inclusive no Brasil. </li></ul>
  48. 48. CakePHP – cozinhando os serviços <ul><li>Separação dos ambientes “cliente” e “servidor”;
  49. 49. Utilizando o CakePHP construímos uma aplicação rapidamente;
  50. 50. O objetivo do CakePHP é agilizar o desenvolvimento dos nossos serviços.
  51. 51. Não há iteração entre o CakePHP e a aplicação Flex além das requisições e respostas. </li></ul>
  52. 52. CakePHP e AMF – é fácil falar essa língua? <ul><li>Assim como o PHP, o CakePHP ainda não possui uma implementação padrão e nativa do AMF;
  53. 53. Existem várias formas de se integrar o AMF ao CakePHP; </li></ul>
  54. 54. CakePHP e AMF – é fácil falar essa língua? <ul><li>Formas de integração: </li><ul><li>AMFPHP – podemos usar a biblioteca AMFPHP dentro do conceito de “vendors”. Incluímos ela ao nosso projeto e chamamos sempre que necessário;
  55. 55. CakeAmfPHP – plugin para CakePHP, um dos primeiros a serem desenvolvidos, está parado na versão 0.6 (utiliza AMFPHP); </li></ul></ul>
  56. 56. CakePHP e AMF – é fácil falar essa língua? <ul><li>Formas de integração: </li><ul><li>CakeAMF – plugin que possui como desenvolvedores parte do CORE Team do CakePHP (utiliza AMFEXT);
  57. 57. CpAMF – plugin que tem como base o CakeAmfPHP, possui atualizações constantes (utiliza AMFEXT ou AMFPHP);
  58. 58. FlexibleCake – controller que intercepta chamadas e retorna conteúdo AMF (utiliza Zend_AMF); </li></ul></ul>
  59. 59. Aplicação de Exemplo – Pagode <ul><li>O que é o Pagode: </li><ul><li>Aplicação simples para controle das finanças pessoais;
  60. 60. A aplicação do exemplo é um esboço de solução, apenas para demonstrar a iteração do PHP + Flex;
  61. 61. O Pagode é um projeto idealizado pelo PHPMS. </li></ul></ul>
  62. 62. Aplicação de Exemplo – Pagode <ul><li>Criando a aplicação utilizando o CakePHP;
  63. 63. Precisamos apenas definir o banco de dados de nossa aplicação;
  64. 64. Para ver o fonte da aplicação, faça um checkout ou export do repositório: http://svn.radig.com.br/pagode </li></ul>
  65. 65. Adicionando Flex a receita do bolo <ul><li>Utilizaremos: </li><ul><li>AMFEXT;
  66. 66. CakeAMF para integrar o AMFEXT ao CakePHP. </li></ul><li>Idéia: </li><ul><li>O plugin CakeAMF irá interceptar as requisições e devolver o resultado em AMF. </li></ul></ul>
  67. 67. Adicionando Flex a receita do bolo <ul><li>Construindo interface da aplicação: um pouco de MXML e AS3.
  68. 68. Definindo nosso gateway que passará os dados para a aplicação Flex.
  69. 69. Visualizando o resultado. </li></ul>
  70. 70. Dúvidas?
  71. 71. Considerações <ul><li>Flex é uma alternativa atraente para criação de interfaces de sistemas: </li><ul><li>É gratuito (o SDK);
  72. 72. Sua API gráfica é muito boa – vide o flashplayer;
  73. 73. Capacidade de se conectar através de diferentes tipos de dados (AMF, XML, JSON, …) </li></ul><li>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. </li></ul>
  74. 74. Bônus <ul><li>Para quem já trabalha com CakePHP: </li><ul><li>Alguns membros do CORE de desenvolvimento do CakePHP, juntamente com outros desenvolvedores criaram o FAKE, um framework MVC para ActionScript3, que segue as convenções do CakePHP, tornando mais fácil se adaptar a esta linguagem.
  75. 75. Fonte: http://code.google.com/p/fake-as3/ </li></ul></ul>
  76. 76. Contato... <ul><li>Email: [email_address]
  77. 77. Blog: http://geek.cauancabral.net
  78. 78. MSN: [email_address]
  79. 79. Gtalk: [email_address]
  80. 80. Twitter: cauancabral
  81. 81. IRC @ Freenode: CauanCabral
  82. 82. http://linkedin.com/in/cauancabral </li></ul>
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×