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

PHP + Flex

  • 1.
    1º WorkShop PHPMS– PHP Extremo patrocínio:
  • 2.
    Aplicações com maisdo 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 – umaalternativa 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 – umaalternativa 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 – alí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 – alí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 – cozinhandoos 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 – cozinhandoos 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 areceita 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 areceita 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.
  • 24.
    Considerações Flex é umaalternativa 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 trabalhacom 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 ospresentes; 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.