AIR 2.0/ AIR Mobile/ Flex

Adobe AIR Launchpad, ferramenta útil para todo desenvolvedor AIR

Não tem idéia alguma de como criar uma aplicação Flex usando o AIR? Acredite segundo Homer Simpson, 1 em cada 3 desenvolvedores Flex, nunca, mais nunca usou ou criou um aplicativo AIR em sua vida.

Dessa teroria, tiramos duas conclusões, ou o marmanjo não manja muito, ou tem preguiça de configurar um aplicativo AIR do zero.

A primeira opção não tem solução rápida, você vai ter que melhorar e/ou vender água de coco na praia. A segunda temos o então útil Adobe AIR Launchpad.

O que é o Launchpad? É um aplicativo utilitário que vai configurar para você todas as opções possíveis que uma aplicação feita para o AIR possa ser criada, ele te ajuda a definir tudo que o Application descriptor do AIR possa suportar. Em suma geral, é um gerador de projeto.

O atual versão beta, além de te ajudar a criar essa estrutura, ele gera um arquivo de projeto para o Flash Builder, onde você pode facilmente importar.

Vamos a um passo-a-passo?

Supondo que você tenha já o Adobe AIR run-time instalado em sua máquina (versão 2.5) ok?

Primeira coisa que você deve fazer é baixar o AIR Launchpad do Labs da Adobe. Clique aqui e baixe.
airlaunchpad

A primeira tela que você vai ter do launchpad é essa ai que você está vendo. Você escolhe criar projetos para Mobile ou Desktop. Eu escolhi Desktop. Então a próxima tela é essa.
airlaunchpad2

Veja que eu coloquei algumas configurações ao meu projeto, por exemplo tamanho de 700×500, usar o recurso de auto-update e de resize.

Clique em Next e você vai direto para a aba de configuration. Nela você define outros comportamentos mais “avançados” para seu projeto AIR. Nessa parte ele não influencia no Application description, ele vai além disso criar algum código fonte já pronto para você. Olha que massa!

Eu escolhi as seguintes opções.

airlaunchpad3

Clique em Next e vamos adicionar mais alguns exemplos, na aba de “Samples”. Tem 10 opções que você pode adicionar ao seu gerador de projeto.

airlaunchpad4

Adicionei apenas 2 opções, Drag-N-Drop e usando o HTML Component, como é demonstração eu não preciso ir além disso.

A última parte do Launchpad é gerar a estrutura do projeto em sí, não só isso como também um arquivo de projeto para o Flash Builder. Um dos recursos extras como você ver na imagem abaixo é a possibilidade de gerar um Badge para meu projeto. Muitos esquecem de fazer isso, e simplesmente passa apenas o arquivo .air para amigos ou empresa instalar, o Badge é bom que fideliza e dá uma aparência profissional para seu projeto.

O Launchpad faz isso ridiculamente simples, tudo que você precisa é de uma imagem (215×100)pixels, seja ela PNG, JPEG, você basta arrastar na área demarcada por ele. Selecione depois o local onde você quer salvar seu projeto e clique no botão vermelho “Generate AIR Project”.

airlaunchpad6

Se você fez tudo certinho, então você vai ver essa tela acima, além do programa abrir o diretório contendo o projeto que você acabou de criar, com 1 diretório para o projeto e 1 projeto em .zip para você importar para o Flash Builder.

airlaunchpad7

Ok, eu particularmente deletei meu arquivo .zip e fiquei só com o diretório. Agora meu próximo passo é importar esse projeto para o meu workspace do Flash Builder e apertar o gatilho do “Run”.

Para isso, basta eu ir em File > Import > General > Existing Project into Workspace > Next.

E logo em seguida essa tela abaixo aparece, onde eu marquei a opção de selecionar o diretório onde estava o projeto gerado e lembrei de marcar a opção “Copy into workspace”. Assim eu consigo deletar da minha área de trabalho e não deixar ela poluída, guardando o projeto no local certo.

airlaunchpad8

E o projeto vai aparecer como uma luva em meu Flash Builder. Com os códigos gerados e tudo mais, fácil aprender AIR assim não é?

airlaunchpad9

Dica importante para quem usa o Flex SDK 4.5, Vai dar erro no Application Descriptor, já que o AIR Launchpad foi feito para 4.1 e não para o 4.5. Solução? Basta abrir o Application descriptor e mudar o namespace de 2.0 para 2.5 e Voilá!


  MeuProjeto

Até a próxima!

Actionscript/ AIR Mobile/ Android

Aplicativo mobile usando actionscript 3.0 puro

Tirei umas 1 hora entre um suspiro e outro, acabei gravando um screencast rápido de pouco menos de 15 minutos de como criar uma aplicação simples no Adobe AIR para dispositivos móveis.

Assista e deixe seu comentário.

O código fonte está aqui:

package
{
	import flash.display.Sprite;
	import flash.display.StageAlign;
	import flash.display.StageScaleMode;
	import flash.events.TouchEvent;
	import flash.text.TextField;
	import flash.ui.Multitouch;
	import flash.ui.MultitouchInputMode;

	[SWF(frameRate="24",height="762",width="480")]
	public class ScreenMobileDraw extends Sprite
	{
		public function ScreenMobileDraw()
		{
			super();
			Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;
			// support autoOrients
			stage.align = StageAlign.TOP_LEFT;
			stage.scaleMode = StageScaleMode.NO_SCALE;



			var txt:TextField = new TextField();
			txt.text = "Hello World";

			var h:Number = stage.stageHeight;
			var w:Number = stage.stageWidth;

			addChild(txt);
			txt.x = w/2 - txt.width/2;
			txt.y = h/2 - txt.height/2;

			this.addEventListener(TouchEvent.TOUCH_MOVE,desenhar);
		}
		private function desenhar(e:TouchEvent):void
		{

			var circulo:Sprite = new Sprite();
			addChild(circulo);
			circulo.graphics.beginFill(Math.random()*0xffffff,1);
			circulo.graphics.drawCircle(e.stageX,e.stageY,100*e.pressure);
			circulo.graphics.endFill();

			circulo.x = e.touchPointID[0].x;
			circulo.y =  e.touchPointID[0].y;

		}
	}
}
Dicas/ Flash Media Server

Flash Media Server no Amazon EC2

Não é tão nova essa notícia, porém é pertinente a nossa esfera. A Adobe, pouco mais de alguns meses lançou a opção de você ter o Flash Media Server Interactive instanciado já com uma imagem (AMIS) do CentOS diretamente no elastic cloud da Amazon.

Particularmente é fantástico, se você faz stream de videos, quer interagir com o usuário, usar stream ao vivo pelo Flash Media Live Encoder, quer fazer uma empresa do zero e sem gastar com grandes infra-estruturas? Então, você pode usar o serviço do Amazon EC2 e ir escalonando com a quantidade de requisições que você pode ter a medida que seu negócio vai crescendo. Uma tabela rápida de conexões simultaneas podem ser vistas aqui.
O melhor disso tudo é que você não precisa comprar o Flash Media Server que no Brasil custa em média uns R$6.000,00 reais a licença standard.

Se você não tem noção alguma de como usar o Flash Media Server versão Interactive com o Amazon EC2 eu aconselho você assistir essa palestra do Kevin Towes mostrando não só o passo-a-passo de como usa-lo, mais também exibindo taxas de consumo, p2p e valores por requisições concorrentes.

Assista aqui a Palestra gravada pelo Adobe Connect.

Uma outra empresa Wowza Media, oferece tal serviço com o famoso Wowza Media Server, geralmente para quem usa front-end Flex/Flash e back-end java é uma excelente medida.

AIR Mobile/ Android/ Eventos/ Flex/ Flex 4/ Flex Mobile Framework/ iPad/ Iphone/ Open-source

Gravação/Slides/Codigo fonte do Flex Mobile no Campus Party Brasil 2011

Quem perdeu ou não teve a oportunidade de ir até o Campus Party 2011. Não fique triste, na TV Campus Party existe todas as gravações de cada palestra que rolou por la; Inclusive a minha.

Então quem quer aprender um pouco, rir e se interter , aqui vai a gravação publicada no youtube.

No do próximo ano você deve ir, é um evento gigante com várias pessoas do Brasil inteiro, eu achei que o público era apenas adolescentes com vontade de baixar torrents pela velocidade da internet, pelo contrário, tem vários networks rolando durante o evento e a probabilidade de sair uma start-up nova é gigantesca.

Slides da palestra: http://slideshare.net/igorcosta
Código fonte da aplicação demonstrada: Código fonte
Baixar o Flash Builder “Burrito” : http://labs.adobe.com
Baixar o PlayBook SDK e Emuladores: http://us.blackberry.com/developers/tablet/

Comunidade/ Eventos/ Notícias/ Pessoal

Palestra no Campus Party 2011 : Flash Mobile

Nos próximos dias acontece o maior evento da digital wave que temos em nosso país o Campus Party Brasil edição de 2011. Esse ano tem várias novidades, o time do #CPBr trabalhou bastante para colocar os melhores palestrantes e conteúdo nesse ano.

Ano passado pelo twitter um dos organizadores do evento me convidou para palestrar no evento. Acho isso show! redes sociais ajudando a divulgar o trabalho desse que vos escreve.

Prontamente aceitei o convite e achei um máximo, afinal é uma grande responsabilidade palestrar para toda a galera que mais curte IT nesse Brasil, com toda certeza estarei em um ambiente que sonhei, jovens e apaixonados por tecnologia. Teria coisa melhor para um network futuro de Start ups?

Na minha primeira palestra como Compuseiro, falarei sobre as tecnologias da Adobe para o mundo móvel. Tenho tópicos abordados como Nokia, Android, BlackBerry e Iphone, no dia 19 as 16:00 sala de desenvolvimento.

WOW! Eu estou muito animado para esse evento! Os compuseiros e quem visita esse site, estão dentro do Campus Party?

Ah! e sem contar que o pessoal da Adobe Brasil após conversar com eles, vão me dá O BRINDE para ser sorteado durante minha palestra. Obrigado Adobe, vocês como sempre apoiando.

Falei como um compuseiro nesse post! 2011 tem muita palestra.

AMFPHP/ Flex/ Flex 4

Flex 4 com PHP – Primeira Parte

O framework Flex tem uma limitação, ele não comunica-se diretamente com coleções de dados e para isso você precisa de uma linguagem de back-end como php, coldfusion,python, Java, etc para comunicar e trocar dados entre o banco e o lado cliente(flex).

Tem gente que acha isso super complicado, por que envolve uma série de fatores como, configuração, mapeamento, conhecimento da API e tradutores. Na verdade todos são ingredientes chaves para você colocar seu aplicativo Flex em contato com o mundo exterior dos bancos de dados.

A configuração que me refiro é o famoso arquivos services-config.xml onde você vai mapear tudo que for preciso de canais, channels para que os dados trafeguem entre o Flex, php, tradutor e banco de dados em um processo assincrono.
Essa configuração de uma certa forma ajuda a encaixar os dados em um trilho, só que você vai precisar mapear os objetos para deixar tudo bonito e nos conformes como assim voce costuma fazer, deixar organizado a budega.
A api para fazer isso é tudo muito simples, basta você saber usar o RemoteObject,ResultEvent,FaultEvent e o resto é lenda.
Já a parte do tradutores, é que nem você viajar para rússia e tentar falar português por lá. Dificilmente você será entendido, há não ser que você seja muito bom em mimica.
É que funciona assim, os VO (Value Object) do Actionscript 3.0 são tipados, ou seja você tem diferentes tipos de variáveis, sejam elas, string, inteiros ou próprias, e no PHP isso não existe, essa tal de tipação só existe no caso de tipação própria e mesmo assim ainda é virtual e não real, como manda o protocolo.
Com isso você precisa que um tradutor faça o trabalho sujo para você viver o sonho americano da comunicação funcionar perfeitamente e os VO tanto do Actionscript 3.0 quanto do PHP conversem entre sí de modo fácil.
Existem diversos no mercado como o famoso Zend_AMF,AMFPHP,Weborb for PHP ,etc . Cada um tem uma particularidade. Usaremos o mais comum em projetos que é o AMFPHP e por se tratar de ser gratis. Eu sei que você gosta de coisa grátis?!

Read More

Pessoal

2011 é o ano de muitos posts.

Voltamos a ativa, final de ano show!, viagens, curtição de sofá, controle remoto, filmes e etc. Não posso reclamar de umas férias misturada com vários enterterimentos, soma geral só alegria e bateria carregada para enfrentar mais 1 ano.
Até hoje temos exatos 617 posts escritos e publicados, vamos chegar aos 1000 esse ano, será? Podem fazer suas apostas.

Em 2010, foi-se minha lista de coisas que gostaria de fazer uns 70% foi realizada, outros itens não inclusos também foram realizados;Final das contas não se pode prever tudo, sempre temos surpresas.
Esse ano não vamos fazer planos vamos executar o que ficou faltando de 2010 se conseguir fechar, conseguimos muita coisa.

Prometemos apenas muito conteúdo, um novo tema, afinal esse tem uns 3 anos, e novos posts.