php + flex

Download PHP + Flex

If you can't read please download the document

Upload: cauan-cabral

Post on 16-Apr-2017

3.996 views

Category:

Technology


1 download

TRANSCRIPT

1 WorkShop PHPMS PHP Extremo

patrocnio:

Aplicaes com mais do que um rostinho bonito - PHP + Adobe Flex

Cauan Cabral

Tpicos

RIA's isso novo?

FLEX uma alternativa atraente;

AMF a lngua natural;

AMF e PHP opes para todos os gostos;

AMF e PHP fluxo de trabalho;

CakePHP cozinhando os servios;

CakePHP e AMF fcil falar essa lngua?

Aplicao de exemplo Pagode;

Adicionando FLEX a receita do bolo;

Participao de todos (dvidas?);

Consideraes;

Agradecimentos;

RIA's isso novo?

O que RIA:RIA Rich Internet Application

Define uma classe de aplicaes que rodam direto da web e do enfase na experincia do usurio.

Exemplo conhecidos: Gmail, Google Docs, Photoshop.com.

Podemos criar RIA's utilizando javascript, Flash, Flex, Silverlight, JavaFX,...

RIA no 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 aes;

ActionScript uma linguagem de programao, semelhante ao JavaScript que permite controle da aplicao FLEX.

FLEX uma alternativa atraente

Aplicao FLEX executada no computador do usurio (client-side);

Alguma forma de comunicao 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 lngua natural

FLEX possui um formato prprio de comunicao Action Message Format (AMF);

O AMF um formato binrio e nativo dentro da plataforma Flash/Flex;

AMF a lngua natural

Fonte: http://www.jamesward.com/census/

AMF e PHP opes para todos os gostos

Do lado cliente no precisamos nos preocupar com o formato AMF ele nativo;

Do lado servidor o PHP ainda no oferece um suporte padro para o formato (da forma que fornece para o JSON e XML);

Existem vrias implementaes do AMF para PHP e at mesmo EM PHP.

AMF e PHP opes para todos os gostos

AMFPHP Uma das primeiras implementaes, est sem desenvolvimento a mais de 1 ano;

AMFEXT Extenso 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 soluo completa para comunicao utilizando AMF agregada a servios avanados. Possui verso grtis (limitada) e paga.

AMF e PHP fluxo de trabalho

Cliente

navegador/flashplayer

Servidor

Apache / IIS

Requisio ou envio de dados

Resposta

ComunicaoUtilizando AMF

AMF e PHP fluxo de trabalho

Cliente: para apresentar informaes ao usurio, faz requisio dos dados ao servidor;

Servidor: recebe o pedido, identifica o contedo da mensagem utilizando alguma das implementaes do AMF para PHP;

Servidor: retorna o resultado de suas operaes, tambm em AMF;

Cliente: recebe a resposta e apresenta para o usurio.

AMF e PHP fluxo de trabalho

O servidor funciona como um webservice;

Recebe requisio Processa Retorna resultado;

H uma boa separao de cdigo (cliente servidor), o que facilita atualizaes e escalabilidade.

CakePHP cozinhando os servios

CakePHP um framework PHP popular que implementa reconhecidos padres de desenvolvimento: MVC e ORM;

Possui gerador de cdigo (shell): bake;

Facilita TDD;

Tem comunidade muito ativa e participativa, alm de extensa, inclusive no Brasil.

CakePHP cozinhando os servios

Separao dos ambientes cliente e servidor;

Utilizando o CakePHP construmos uma aplicao rapidamente;

O objetivo do CakePHP agilizar o desenvolvimento dos nossos servios.

No h iterao entre o CakePHP e a aplicao Flex alm das requisies e respostas.

CakePHP e AMF fcil falar essa lngua?

Assim como o PHP, o CakePHP ainda no possui uma implementao padro e nativa do AMF;

Existem vrias formas de se integrar o AMF ao CakePHP;

CakePHP e AMF fcil falar essa lngua?

Formas de integrao:AMFPHP podemos usar a biblioteca AMFPHP dentro do conceito de vendors. Inclumos ela ao nosso projeto e chamamos sempre que necessrio;

CakeAmfPHP plugin para CakePHP, um dos primeiros a serem desenvolvidos, est parado na verso 0.6 (utiliza AMFPHP);

CakePHP e AMF fcil falar essa lngua?

Formas de integrao:CakeAMF plugin que possui como desenvolvedores parte do CORE Team do CakePHP (utiliza AMFEXT);

CpAMF plugin que tem como base o CakeAmfPHP, possui atualizaes constantes (utiliza AMFEXT ou AMFPHP);

FlexibleCake controller que intercepta chamadas e retorna contedo AMF (utiliza Zend_AMF);

Aplicao de Exemplo Pagode

O que o Pagode:Aplicao simples para controle das finanas pessoais;

A aplicao do exemplo um esboo de soluo, apenas para demonstrar a iterao do PHP + Flex;

O Pagode um projeto idealizado pelo PHPMS.

Aplicao de Exemplo Pagode

Criando a aplicao utilizando o CakePHP;

Precisamos apenas definir o banco de dados de nossa aplicao;

Pausa nos slides para a construo da aplicao com o CakePHP.....

Para ver o fonte da aplicao, faa um checkout ou export do repositrio: http://svn.radig.com.br/pagode

Adicionando Flex a receita do bolo

Utilizaremos:AMFEXT;

CakeAMF para integrar o AMFEXT ao CakePHP.

Idia:O plugin CakeAMF ir interceptar as requisies e devolver o resultado em AMF.

Adicionando Flex a receita do bolo

Construindo interface da aplicao: um pouco de MXML e AS3.

Definindo nosso gateway que passar os dados para a aplicao Flex.

Visualizando o resultado.

Dvidas? Contribuies?

Agora hora de discutir...

Consideraes

Flex uma alternativa atraente para criao de interfaces de sistemas: gratuito (o SDK);

Sua API grfica muito boa vide o flash player;

Capacidade de se conectar atravs 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 renderizao entre browser do html e css.

Bnus

Para quem trabalha com CakePHP:Est para ser lanado, provavelmente nesta segunda-feira (13/07/2009), a verso 1.0 do FAKE;

FAKE um framework MVC para ActionScript3, que segue as convenes do CakePHP, tornando mais fcil 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 lngua portuguesa;

Desenvolvedores do AMFPHP e AMFEXT;

Contato...

Email: [email protected]

Blog: http://geek.cauancabral.net

MSN: [email protected]

Gtalk: [email protected]

Twitter: cauancabral

IRC @ Freenode: CauanCabral

http://linkedin.com/in/cauancabral

Apoiaram e patrocinaram este evento

Click to edit the outline text formatSecond Outline LevelThird Outline LevelFourth Outline LevelFifth Outline LevelSixth Outline LevelSeventh Outline LevelEighth Outline LevelNinth Outline Level