SlideShare una empresa de Scribd logo
1 de 28
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 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;
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.
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.
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.
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;
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 – 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.
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.
AMF e PHP – fluxo de trabalho

   Cliente                                      Servidor

 navegador/                                   Apache / IIS
 flashplayer
               Requisição ou envio de dados




                         Resposta




                       Comunicação
                       Utilizando AMF
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.
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.
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.
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.
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;
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);
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);
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.
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
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.
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.
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 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.
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/
Agradecimentos

A todos os presentes;
Aos organizadores;
Aos patrocinadores;
Comunidade CakePHP, em especial aos de
 língua portuguesa;
Desenvolvedores do AMFPHP e AMFEXT;
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
Apoiaram e patrocinaram este
          evento

Más contenido relacionado

La actualidad más candente

Apostila - Desenvolvimento Web com ASP.NET
Apostila - Desenvolvimento Web com ASP.NETApostila - Desenvolvimento Web com ASP.NET
Apostila - Desenvolvimento Web com ASP.NETJosé Corrêa Viana
 
Qconsp 2016 escalando uma plataforma de e-mail transacional- aprendizado da...
Qconsp 2016   escalando uma plataforma de e-mail transacional- aprendizado da...Qconsp 2016   escalando uma plataforma de e-mail transacional- aprendizado da...
Qconsp 2016 escalando uma plataforma de e-mail transacional- aprendizado da...fabio perrella
 
Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Valmir Justo
 
Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Eric Gallardo
 
Desenvolvendo para web ASP.Net (Overview para iniciantes)
Desenvolvendo para web ASP.Net (Overview para iniciantes)Desenvolvendo para web ASP.Net (Overview para iniciantes)
Desenvolvendo para web ASP.Net (Overview para iniciantes)Fernando Gonçalves
 
Visual basic apostila up vb6 para vbnet
Visual basic   apostila up vb6 para vbnetVisual basic   apostila up vb6 para vbnet
Visual basic apostila up vb6 para vbnetrobinhoct
 
Desvendando o Symfony 4 - Além da teoria
Desvendando o Symfony 4 - Além da teoriaDesvendando o Symfony 4 - Além da teoria
Desvendando o Symfony 4 - Além da teoriaCamila Fernandes
 
Business::CPI - Hackaton
Business::CPI - HackatonBusiness::CPI - Hackaton
Business::CPI - HackatonAndré Walker
 
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...BrunoSouza617
 
Curso de PHP Básico ao Avançado
Curso de PHP Básico ao AvançadoCurso de PHP Básico ao Avançado
Curso de PHP Básico ao AvançadoLuiz Junior
 
Microsoft Tech·Ed Brasil 2010: DEV302 - Como e onde devo utilizar o Managed E...
Microsoft Tech·Ed Brasil 2010: DEV302 - Como e onde devo utilizar o Managed E...Microsoft Tech·Ed Brasil 2010: DEV302 - Como e onde devo utilizar o Managed E...
Microsoft Tech·Ed Brasil 2010: DEV302 - Como e onde devo utilizar o Managed E...Rogério Moraes de Carvalho
 

La actualidad más candente (19)

Apostila - Desenvolvimento Web com ASP.NET
Apostila - Desenvolvimento Web com ASP.NETApostila - Desenvolvimento Web com ASP.NET
Apostila - Desenvolvimento Web com ASP.NET
 
Mod06 licao01-apostila
Mod06 licao01-apostilaMod06 licao01-apostila
Mod06 licao01-apostila
 
Qconsp 2016 escalando uma plataforma de e-mail transacional- aprendizado da...
Qconsp 2016   escalando uma plataforma de e-mail transacional- aprendizado da...Qconsp 2016   escalando uma plataforma de e-mail transacional- aprendizado da...
Qconsp 2016 escalando uma plataforma de e-mail transacional- aprendizado da...
 
Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.
 
Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014
 
Desenvolvendo para web ASP.Net (Overview para iniciantes)
Desenvolvendo para web ASP.Net (Overview para iniciantes)Desenvolvendo para web ASP.Net (Overview para iniciantes)
Desenvolvendo para web ASP.Net (Overview para iniciantes)
 
Visual basic apostila up vb6 para vbnet
Visual basic   apostila up vb6 para vbnetVisual basic   apostila up vb6 para vbnet
Visual basic apostila up vb6 para vbnet
 
PHP versus Java
PHP versus JavaPHP versus Java
PHP versus Java
 
Asp.net
Asp.netAsp.net
Asp.net
 
Webservices
WebservicesWebservices
Webservices
 
Desvendando o Symfony 4 - Além da teoria
Desvendando o Symfony 4 - Além da teoriaDesvendando o Symfony 4 - Além da teoria
Desvendando o Symfony 4 - Além da teoria
 
Business::CPI - Hackaton
Business::CPI - HackatonBusiness::CPI - Hackaton
Business::CPI - Hackaton
 
Principais Tecnologias WEB
Principais Tecnologias WEBPrincipais Tecnologias WEB
Principais Tecnologias WEB
 
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
 
Faq visual class
Faq visual classFaq visual class
Faq visual class
 
Curso de PHP Básico ao Avançado
Curso de PHP Básico ao AvançadoCurso de PHP Básico ao Avançado
Curso de PHP Básico ao Avançado
 
Aula 1
Aula 1Aula 1
Aula 1
 
Microsoft Tech·Ed Brasil 2010: DEV302 - Como e onde devo utilizar o Managed E...
Microsoft Tech·Ed Brasil 2010: DEV302 - Como e onde devo utilizar o Managed E...Microsoft Tech·Ed Brasil 2010: DEV302 - Como e onde devo utilizar o Managed E...
Microsoft Tech·Ed Brasil 2010: DEV302 - Como e onde devo utilizar o Managed E...
 
Sessao2 ASP
Sessao2 ASPSessao2 ASP
Sessao2 ASP
 

Similar a PHPMS WorkShop - PHP e Flex: AMF, CakePHP e desenvolvimento de RIA's

2290494 integrando-flex-com-php
2290494 integrando-flex-com-php2290494 integrando-flex-com-php
2290494 integrando-flex-com-phpBrenno Abreu
 
Artigo de php
Artigo de phpArtigo de php
Artigo de phprobson
 
Desenvolvendo aplicações RIA - Marcel Araujo
Desenvolvendo aplicações RIA - Marcel AraujoDesenvolvendo aplicações RIA - Marcel Araujo
Desenvolvendo aplicações RIA - Marcel AraujoTchelinux
 
Flash Platform + Zend Amf
Flash Platform + Zend AmfFlash Platform + Zend Amf
Flash Platform + Zend AmfMiguel Pinto
 
4. Introdução ao PHP.pdf
4. Introdução ao PHP.pdf4. Introdução ao PHP.pdf
4. Introdução ao PHP.pdfRubenManhia
 
Symfony Flex @ PHP Community Summit 2018
Symfony Flex @ PHP Community Summit 2018Symfony Flex @ PHP Community Summit 2018
Symfony Flex @ PHP Community Summit 2018Gabriel Machado
 
PHP para aplicações Web de grande porte
PHP para aplicações Web  de grande portePHP para aplicações Web  de grande porte
PHP para aplicações Web de grande porteFelipe Ribeiro
 
Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPDaniel Brandão
 
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introduçãoAgrupamento de Escolas da Batalha
 
RIA e Flex - Dando formas à Inovação
RIA e Flex - Dando formas à InovaçãoRIA e Flex - Dando formas à Inovação
RIA e Flex - Dando formas à InovaçãoLeonardo Braga
 
Campus Party - Desenvolvendo aplicações .Net com software gratuito
Campus Party  - Desenvolvendo aplicações .Net com software gratuitoCampus Party  - Desenvolvendo aplicações .Net com software gratuito
Campus Party - Desenvolvendo aplicações .Net com software gratuitoAlexandre Tarifa
 
Aula 01 introdução ao php
Aula 01   introdução ao phpAula 01   introdução ao php
Aula 01 introdução ao phpAdriano Castro
 
Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducaoRegis Magalhães
 

Similar a PHPMS WorkShop - PHP e Flex: AMF, CakePHP e desenvolvimento de RIA's (20)

2290494 integrando-flex-com-php
2290494 integrando-flex-com-php2290494 integrando-flex-com-php
2290494 integrando-flex-com-php
 
Artigo de php
Artigo de phpArtigo de php
Artigo de php
 
Adobe Flex
Adobe FlexAdobe Flex
Adobe Flex
 
Adobe Flex
Adobe FlexAdobe Flex
Adobe Flex
 
Desenvolvendo aplicações RIA - Marcel Araujo
Desenvolvendo aplicações RIA - Marcel AraujoDesenvolvendo aplicações RIA - Marcel Araujo
Desenvolvendo aplicações RIA - Marcel Araujo
 
Flash Platform + Zend Amf
Flash Platform + Zend AmfFlash Platform + Zend Amf
Flash Platform + Zend Amf
 
4. Introdução ao PHP.pdf
4. Introdução ao PHP.pdf4. Introdução ao PHP.pdf
4. Introdução ao PHP.pdf
 
Symfony Flex @ PHP Community Summit 2018
Symfony Flex @ PHP Community Summit 2018Symfony Flex @ PHP Community Summit 2018
Symfony Flex @ PHP Community Summit 2018
 
PHP para aplicações Web de grande porte
PHP para aplicações Web  de grande portePHP para aplicações Web  de grande porte
PHP para aplicações Web de grande porte
 
Pho Aula 02
Pho Aula 02Pho Aula 02
Pho Aula 02
 
Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHP
 
Rich Internet Applications
Rich Internet ApplicationsRich Internet Applications
Rich Internet Applications
 
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução
 
PHP Presente e Futuro
PHP Presente e FuturoPHP Presente e Futuro
PHP Presente e Futuro
 
RIA e Flex - Dando formas à Inovação
RIA e Flex - Dando formas à InovaçãoRIA e Flex - Dando formas à Inovação
RIA e Flex - Dando formas à Inovação
 
Campus Party - Desenvolvendo aplicações .Net com software gratuito
Campus Party  - Desenvolvendo aplicações .Net com software gratuitoCampus Party  - Desenvolvendo aplicações .Net com software gratuito
Campus Party - Desenvolvendo aplicações .Net com software gratuito
 
Aula 01 introdução ao php
Aula 01   introdução ao phpAula 01   introdução ao php
Aula 01 introdução ao php
 
Php
PhpPhp
Php
 
php 01 introducao
php 01 introducaophp 01 introducao
php 01 introducao
 
Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducao
 

PHPMS WorkShop - PHP e Flex: AMF, CakePHP e desenvolvimento de RIA's

  • 1. 1º WorkShop PHPMS – PHP Extremo patrocínio:
  • 2. Aplicações com mais do que um rostinho bonito - PHP + Adobe Flex Cauan Cabral
  • 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. 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. 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. 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. 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. AMF – a língua natural Fonte: http://www.jamesward.com/census/
  • 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. 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. AMF e PHP – fluxo de trabalho Cliente Servidor navegador/ Apache / IIS flashplayer Requisição ou envio de dados Resposta Comunicação Utilizando AMF
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Dúvidas? Contribuições? Agora é hora de discutir...
  • 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. 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. Agradecimentos A todos os presentes; Aos organizadores; Aos patrocinadores; Comunidade CakePHP, em especial aos de língua portuguesa; Desenvolvedores do AMFPHP e AMFEXT;
  • 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. Apoiaram e patrocinaram este evento