Artigos com o marcador Adobe Flex
Implementando Skin Properties #screencast
21/05/11
Neste screencast, irei mostrar como implementar Skin Properties.
Confira, e qualquer comentário e sugestões serão bem vindas
Obs.: Veja em FullScreen.
Experimentando Flex Mobile #screencast
28/04/11
Essa semana estou no desafio de construir uma app mobile usando Flex.
Algo bem simples até então, já que estou usando uma versão da prerelease do Flash Builder 4.5 for PHP.
O mais legal é simplicidade de conectar ao servidor, utilizando as mesmas classes de serviço do Zend usadas na app existente rodando hoje na web (Flex + PHP usando Zend Framework).
Muita gente já me adianta falando: “Vai funcionar só no Android né, já que o iPhone e iPad não tem Flash!”.
Maior engano destes ou de você que já pensou o mesmo.
Agora podemos compilar um arquivo APK para plataforma Android e um arquivo IPA para plataforma iOS. Fora as duas grandes plataformas ainda posso gerar para o BlackBerry PlayBook.
Assistam e confiram abaixo a breve experiência:
Roadmap do Flash Builder 4.5 para desenvolvimento Mobile
13/04/11
Olá pessoal!
Todo mundo já deve estar careca de saber que a Adobe já anunciou o Flash Builder 4.5 e este será lançado em Maio de 2011.
Como você pode ter visto no anuncio, nós Flex developers poderemos criar aplicativos móveis para as plataformas Android, Blackberry Tablet OS e Apple iOS.
Aí vem o porém sobre as duas últimas plataformas e que podem gerar muita confusão no lançamento do Flash Builder em Maio. A Adobe planeja lançar um update em Junho de 2011 com suporte total ao Blackberry Tablet OS e Apple iOS, sem precisar abrir seu prompt de comando favorito. O que acontece na primeira versão lançada em Maio é o suporte total ao Google Android.
Na tabela abaixo retirada do Blog oficial da Adobe, explica melhor esta situação:
*Project will actually target AIR 2.5. You will need to make a manual change to your project to enable this configuration. This will be clearly documented on the Adobe Developer Center and RIM’s developer site upon launch in May, 2011.
Há outra coisa que a Adobe lembra é que com o novo Flash Builder 4.5, você pode criar projetos usando Flex Mobile ou apenas ActionScript puro. Existem algumas diferenças entre estes projetos.
Quando você cria um novo projeto Flex Mobile, você tem direito a usar todas as funcionalidades adicionados no core do Flex SDK, onde possuem componentes específicos para Mobile, como o ViewNavigatorApplication e ViewNavigator para manipular a navegação da aplicação e persistir os dados entre as views.
Já na criação de um projeto ActionScript Mobile, você poderá apenas escrever sua aplicação usando ActionScript puro, que é muito comum no desenvolvimento de jogos, porém não poderá utilizar as classes Flex dentro deste projeto.
É importante lembrar que ambos projetos, fornecem o fluxo completo no Flash Builder para desenvolver projetos mobile através do código e no design view, podendo pré-visualizar e debuggar a aplicação no desktop ou em seu aparelho (smartphone ou tablet).
Posso dizer que está cada vez mais gratificante poder trabalhar com a Flash Platform e ter entrado de cara neste mundo em 2008. Já se passaram 3 anos e vi muita evolução por parte da Adobe, mesmo por meio dos assuntos que rolaram sobre HTML5.
Por hoje é isso e até a próxima.
Mais informações em http://adobe.ly/hH0wtn
Quando você cria um novo projeto Flex Mobile, você tem direito a usar todas as funcionalidades adicionados no core do Flex SDK, onde possuem componentes específicos para Mobile, como o ViewNavigatorApplication e ViewNavigator para manipular a navegação da aplicação e persistir os dados entre as views.
Flex 4 – Usando a classe TextFlowUtil #screencast #soudev
27/11/10
Uma classe realmente ÚTIL
Salvou minha pele no projeto apresentado no vídeo. Confiram!
Entendendo o Flash Remoting
05/08/10
Hoje não trago nenhuma linha de código a vocês, mas sim um assunto interessante para entender como funciona o Flash Remoting na teoria.
O que é Flash Remoting?
Quando você está usando XML para enviar dados para sua aplicação cliente, muitos dos dados que você está transferindo não é absolutamente necessário. Pense em todos os caracteres extras que estão em um documento XML. Pense em quantas vezes você tem que enviar os atributos e nós, bem como ambas as tags início e tags de fim. XML é um formato grande, mas há uma grande sobrecarga no processamento desde documento.
Action Message Format
Action Message Format (AMF) funciona através de HTTP, como o XML, mas em vez de enviar diversas informações extras, o AMF envia as informações essenciais retirando estes caracteres desnecessários, ou seja é serializado dentro de um formato binário que usa bem menos banda e espaço do que um mesmo dado enviado com XML.
Isso torna útil quando você envia muitos dados. Em vez de enviar várias tags redundantes em XML, você está enviando pequenos registros AMF serializados.
Outro benefício do AMF é, que este é um tipo de dados nativo do Flash Player. Com isso o Flash Player não tem que fazer um “parse” dos resultados para obter as informações. Eles estão disponíveis no Flash Player como objetos nativos do ActionScript logo que é recebido através do servidor.
Flash Remoting usa AMF para expor objetos e web services em um servidor de aplicação, como se fossem objetos ActionScript locais. O único problema é que para usar AMF você tem que trabalhar com objetos no PHP. O gateway AMF ajuda a traduzir esses objetos PHP em objetos ActionScript no Flash Player. Com isso, você pode criar seus próprios objetos tipados no PHP e manter uma cópia destes objetos tipados no ActionScript.
Flash Remoting e o Zend Framework
Você já deve saber que recentemente a Adobe fez uma parceria com a Zend para fornecer suporte para o Flash Remoting com AMF no Zend Framework. Existem outros projetos como este, incluindo o AMFPHP para outros frameworks PHP, mas Zend AMF tem constante suporte para Flash Remoting. O Zend Framework é um robusto framework para PHP que pode ser usado para projetos muitos complexos. Para alguns desenvolvedores PHP qual apenas quer conectar PHP com Flex pode ser um caminhão de pedra para matar uma mosca. Você não precisa usar todo o Zend Framework, ou alterar a estrutura do seu projeto para usar o Zend AMF. Zend AMF baseia-se em um pequeno, mas poderoso, pacote que pode ser facilmente integrado a qualquer projeto PHP.
–
Por hoje é isso! O artigo original vocês podem acessar aqui. Espero que tenham gostado e sinta-se a vontade de deixar sugestões ou críticas.
App demo que será desenvolvida neste sábado (17/07) no #minizend
14/07/10
Neste sábado (17/07) será a terceira vez que ministrarei o Mini curso On-line de Flex e Zend Framework (#minizend).
Então apresento no vídeo abaixo a aplicação demo que será desenvolvida. Além dela será criado um aplicativo AIR para cadastrar pedidos de vendas.
Pretendo também mostrar um pouco sobre Mate Framework no lado do Flex, deixando o projeto mais organizado.
Para quem não se matriculou ainda, não se preocupe, pois ainda há tempo!
Acesse www.riacycle.com/zend e garanta sua vaga.
Minizend – Aplicação Demo
29/04/10
No video abaixo apresento a aplicação de Distribuição de Fornecedores que irei desenvolver durante o mini curso online de Flex e Zend Framework (#minizend).
O curso ocorrerá neste sábado, dia 05/06. Para quem não se matriculou ainda, não se preocupe, pois ainda há tempo! Acesse www.riacycle.com/zend e garanta sua vaga.
[Fiel Cookbook] Manipulando Datas entre Flex e PHP
22/04/10
Problema
Temos um DateField no Flex e queremos enviar a data selecionada para o PHP como um objeto Date e não somente uma simples string no fomato DD/MM/YYYY. Enviando o objeto Date, teremos o benefício de ter todas as informações de Timezone, GMT e etc para serem manipuladas futuramente via backend.
Solução
Para resolvermos nosso problema, devemos utilizar o Zend Amf para serialização/deserialização de objetos entre Flex e PHP. No Flex simplesmente usaremos a propriedade selectedDate do DateField para selecionarmos o objeto Date e após enviar ao PHP via RemoteObject. O Zend Amf terá o papel de converter este objeto para Zend Date e vice versa.
Explicação Detalhada
Obs.: O ViewSource está habilitado no exemplo abaixo para quem quiser acompanhar melhor esta explicação.
1º – Capturamos o objeto Date pela propriedade selectedDate do DateField e enviamos para o PHP.
FlexPHPDate.mxml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" viewSourceURL="srcview/index.html"> <mx:Script> <![CDATA[ import mx.controls.Alert; import mx.rpc.events.FaultEvent; import mx.rpc.events.ResultEvent; public function getTimezone():void { remote.getTimezone(dt.selectedDate); } public function getTimestamp():void { remote.getTimestamp(dt.selectedDate); } protected function remote_resultHandler(event:ResultEvent):void { Alert.show(event.result.toString()); } ]]> </mx:Script> <mx:DateField id="dt" formatString="DD/MM/YYYY" /> <mx:Button label="Get Timezone" click="getTimezone()" enabled="{ dt.selectedDate != null }" /> <mx:Button label="Get UNIX timestamp" click="getTimestamp()" enabled="{ dt.selectedDate != null }" /> <mx:RemoteObject id="remote" destination="zend" endpoint="../gateway.php" source="DateService" result="remote_resultHandler(event)"/> </mx:Application> |
2º – Recebemos o objeto Date no PHP já convertido para Zend_Date. Isso é feito automaticamente pelo Zend_Amf.
DateService.php (está localizando dentro da pasta /services/)
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php class DateService { public function getTimezone(Zend_Date $date) { return $date->getTimezone(); } public function getTimestamp(Zend_Date $date) { return $date->getTimestamp(); } } |
Exemplo da Solução: Ao selecionarmos a data e selecionando Get Timezone, mandaremos para o PHP o objeto Date e após o PHP enviará para nós um timestamp desta data atravéz do Zend_Date. Acontece o mesmo para Get UNIX Timestamp.
Baixe aqui o projeto Flex incluindo o PHP: FlexPHPDate.zip
Observações Finais
Esta prática é interessante para manipularmos o mesmo objeto Date de uma linguagem para outra, com várias informações de Timezone, GMT e etc, como citados acima.
Abraços a todos e até o próximo Fiel Cookbook.
[Fiel Cookbook] Resolvendo problema com Scroll em Apps Flex usando MacOSX
24/11/09
Problema
Você está usando o sistema operacional MacOSX e deseja que o scroll do mouse (mousewheel) funcione em suas aplicacões Flex.
Exemplo do Problema: Tente fazer a rolagem no DataGrid. Não será possível.
Solução
Use o projeto MouseWheelEnabler para resolver o problema existente. Você pode obte-lo pelo site http://code.google.com/p/flex-wmode-mousewheel-handler-example/ ou visualizar a classe no view source do exemplo logo abaixo.
Explicação Detalhada
Obs.: O ViewSource está habilitado no exemplo abaixo para quem quiser acompanhar melhor esta explicação.
Seguindo o exemplo do site oficial, apenas adicionamos no evento addToStage de sua Application a função initMouseWheel que inicializará a classe MouseWheelEnabler. Feito isso sua aplicação funcionará perfeitamente como no exemplo abaixo:
Exemplo da Solução: Adicionando a classe MouseWheelEnabler resolvemos nosso problema de scroll em aplicações Flex no sistema operacional MacOSX.
Observações Finais
Esta solução resolve nossos problemas imediatamente, claro que não podemos dizer que ela seja definitiva, sendo assim que em breve poderemos ter uma correção por parte da Adobe.
Outro detalhe que devemos considerar, é que o Mouse Mighty possui scroll horizontal, sendo que nesta classe ela não resolve o problema para este caso.
Abraços a todos e até o próximo Fiel Cookbook.
Missão cumprida! Agora sou Adobe Certified Expert Flex with AIR
16/11/09
Uma das minhas metas pessoais mais importantes do ano de 2009 era se tornar um Adobe Certified Expert Flex with AIR e finalmente consegui atingir o meu objetivo tão esperado.

Nesta última sexta-feira 13, isso mesmo sexta-feira 13, dia que muitos consideram “o dia do azar” ou outras supertições, fui lá e mostrei que é possivel sim obter um resultado positivo em dias superticiosos como este. Antes mesmo não estava tão confiante pois não tinha estudado o suficiente em uma prova que exige conhecimento de ambas plataformas Flex e AIR. Finalmente com apoio de algumas pessoas consegui ir confiante e fazer uma prova que no instante pensei que fosse complexa e complicada, mas vi que a minha experiência de 1 ano trabalhando no dia a dia com Adobe Flex me ajudou muito a resolver diversas questões.
Emocionante é terminar a prova e ver o “Congratulations”. Passei na prova com 74%, aonde o exigido mínimo para passar é 67%. A questões que mais me pegaram foram as de AIR, pois ainda não trabalho 100% nesta plataforma.
Os materiais de estudo que utilizei para o exame foram os seguintes:
- Livro: Flex 3 Cookbook
- Attest (Software que simula a certificação)
- Adobe Flex Video Training
- Adobe Flex Learn Path
Sabendo que não tive muito tempo para me dedicar nos estudos e contei muito com a experiência que eu tenho com a ferramenta.
Mais uma vez agradeço as pessoas que me apoiaram, e agora aqueles que almejam o mesmo objetivo deixo meu recado: Estudem bastante e explorem bem as ferramentas Flex e AIR, só assim vocês conseguiram passar numa prova que é bem direta no assunto e nada de pegadinhas para poder desafiar o seu conhecimento.
Abraços pessoal e até a próxima.


