Actionscript Frameworks/ AS 3.0/ Eventos/ Flex/ Flex 3/ Flex 3 SDK/ RIA/ Sexta-Flex Talkshow

Gravação da palestra – "Advanced data visualization" disponível

Quem compareceu ao último sextaflex não pode reclamar, foi excelente o evento e o Michel Vandaniker mandou ver no Axiis para todos os 18 participantes ao total presente no evento on-line.
Caso você por algum motivo que seja perdeu e quer acessar, você pode acessar o link da gavação abaixo.

http://experts.na3.acrobat.com/p38851909/

Obrigado a todos que compareceram.

Nesta semana dia 16/10 não haverá sextaflex por motivo de força maior. Não somos muito de reclamar das coisas, mais tem sido bem corrido, em resumo todo mundo decidiu usar Flex de uma única vez e nesse final de ano.

Na próxima semana já temos engatado mais 1 palestrante nacional e vai falar de seus cases e você vai conhecer novas empresas que produzem RIA com qualidade. Queremos mostrar e dar vitrine para todas as minúsculas até as golias das empresas Brasileiras o espaço para ir falando de suas dificuldades e sucessos com a escolha do Flex. Afinal Flex não é só flores.

Actionscript Frameworks/ Flex/ Flex Mobile Framework/ Labs/ Slider Framework

Flex Mobile Framework

Ontem a Adobe oficializou o anúncio que estava trabalhando em uma versão optimizada para dispositivos móveis do Flex SDK.
O Flex Mobile Framework ou melhor Slider é uma grande promessa para então já esperada comunidade de desenvolvedores da plataforma Flex.

Com o recém chegado Flash Player 10 para dispositivos móveis a coisa muda de status e passa a amadurecer mais ainda esssa idéia de rodar Actionscript 3.0 para celulares.

Em minha opinião pessoal, acredito que há sem dúvida muito trabalho a ser feito para optimizar o Flex SDK para dispositivos móveis, onde os principais desafios são multi-toque, pouca memória disponível e pouco nível de processamento. O que acarreta atualmente na inviabilidade de se rodar isso “Out of Box”.

Pesquisas internas rodando o novo Flash Player em meu Nokia e62 serie 60 5th mostrou que ainda tem muito que amadurecer o player para rodar nos dispositivos móveis. Principalmente para o futuro Slider.

Uma biblioteca que se comportou muito bem, fora o aspecto de multi-touch. Não pudemos testar por que não possuo nenhum celular com multi-touch foi o minimal components do Keith. É level, funcional e possui a mesmo fluxo de criação de componentes Flex.
Acredito que Adobe esteja se baseando em sua experiência bem sucessidade em introduzir o Flex em forms do LiveCycle para julgar os melhores aspectos.
Como no próprio whitepaper do Slider há grandes desafiors e com toda certeza ela vai fazer isso rodar suavemente.
Vamos aguardar.

[Atualização 07/10/2009] Video mostrando o Slider em ação.

Actionscript Frameworks/ AS 3.0/ Flex/ Flex 3 Charts/ Flex Componentes/ frameworks/ Sexta-Flex Talkshow

Sexta-Flex – Criando visualizações de dados avançados com Axiis

axiis

Na próxima sexta-flex, no mesmo horário vamos ter um encontro com o Michael VanDaniker, ele é co-autor do framework open-source que mudou a maneira como dados são exibidos na plataforma Flex.

Se você fica babando por que vê os tão belos feitos do Flex Data Visualization, (charts). Então você precisa conhecer o Axiis.
Veja os detalhes da palestra e vê se não perde. Claro que agente entende se você não puder assistir ao vivo, depois ela será gravada.

Palestra On-line
Titulo : Advanced Data Visualization with Axiis
Palestrante: Michel VanDaniker
Horário: Sempre no mesmo horário: das 09:00 AM até as 10:00 horário de Brasília.
Endereço para acesso: http://experts.na3.acrobat.com/palestras/
Palestra em inglês.

Actionscript Frameworks/ Eventos/ Sexta-Flex Talkshow

Sexta-Flex – Explorando o fator Z com Away3D e Away3D lite com Rob Bateman

robbateman
Na próxima sexta-feira (2/10) (oops sexta-flex) vamos ter mais um convidado especial que vai falar para nós sobre os seus frameworks Away3D e Away3D Lite. Rob Bateman é londrino e adora o mundo 3D. Ele vai apresentar sobre o framework e como ele pode ajudar a criar ambientes 3D na plataforma Flash.

Palestra: Explorando o fator Z com Away3D e Away3D Lite
Palestrante: Rob Bateman
Sempre no mesmo horário: das 09:00 AM até as 10:00 horário de Brasília.
Endereço para acesso: http://experts.na3.acrobat.com/palestras/
Palestra em inglês.

Conto com todos os meus leitores, seguidores do Twitter e membros das comunidades Brasileiras para participar.

Actionscript/ Actionscript Frameworks/ AS 3.0/ Flash Componentes/ Flash CS 3/ Flash CS4

Criando um player de MP3 com Flash CS4 e actionscript 3.0

O exemplo abaixo, mostra como criar um player de música em actionscript 3.0 feito com alguns componentes básicos do Flash CS4, aquiles que vem por padrão no Flash CS3 e Flash CS4.
O projeto foi feito usando o Flex Builder, então procure nos arquevos do site como usar os componentes do Flash no Flex Builder.

Na atual versão do actionscript 3.0 é bem complicado usar a classe de som, para se ter uma idéia, foi necessário usar as classes Sound, SoundChannel,SoundTransform, só para dar o play e controlar o volume.
Em fim, segue abaixo o exemplo:

playermp3

Código:

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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
package {
	import fl.controls.Button;
	import fl.controls.Slider;
 
	import flash.display.Sprite;
	import flash.events.MouseEvent;
	import flash.net.URLRequest;
	import flash.media.Sound;
	import flash.media.SoundTransform;
	import flash.media.SoundChannel;
	import flash.events.MouseEvent;
	import flash.events.Event;
	import fl.events.SliderEvent;
	import fl.controls.Label;
 
	[SWF(width="400",height="150",backgroundColor="0xF2F2F2",frameRate="25")]
	public class AS3Player extends Sprite
	{
		public var playButton:Button;
		public var stopButton:Button;
		public var volumeControl:Slider;
		public var urlSom:String = "mp3/seusom.mp3";
		public var MP3Request:URLRequest;
		private var musicaTransform:SoundTransform;
		private var musicaCanal:SoundChannel;
		private var musica:Sound;
		private var volLabel:Label;
 
 
		public function AS3Player()
		{
			super();
 
			MP3Request = new URLRequest(urlSom);
 
			musica = new Sound();
			musica.load(MP3Request);
			musicaCanal = new SoundChannel();
			musicaTransform = new SoundTransform(0.5,0);
 
 
 
			/**
			 * Montar os botões e Slider para controlar o som
			 *
			 * playButton - Toca o som;
			 * stopButton - Para o som;
			 * volumeControl - Aumenta e diminue o som;
			 * */
 
			playButton = new Button();
			playButton.label = "Tocar";
			playButton.x = 10;
			playButton.y = 20;
			addChild(playButton);
			playButton.addEventListener(MouseEvent.CLICK,SomAction);
 
			stopButton = new Button();
			stopButton.label = "Parar";
			stopButton.x = playButton.width + 20;
			stopButton.y = 20;
			addChild(stopButton);
			stopButton.addEventListener(MouseEvent.CLICK,SomAction);
 
			volumeControl = new Slider();
			volumeControl.direction = "horizontal"// ou vertical;
			volumeControl.minimum =0;
			volumeControl.maximum =1;
			volumeControl.doubleClickEnabled = true;
			volumeControl.tickInterval = .1;
			volumeControl.snapInterval = .1;
			volumeControl.value = musicaTransform.volume;
			volumeControl.liveDragging = true;
			volumeControl.x = 230;
			volumeControl.y = 20;
			addChild(volumeControl);
			volumeControl.addEventListener(SliderEvent.CHANGE,VolumeAction);
 
			volLabel = new Label();
			volLabel.text = "Volume";
			addChild(volLabel);
			volLabel.x = 250;
			volLabel.y = 40;
		}
 
		/**
		 * @public
		 * Controla o volume da música carregada;
		 * */
		public function VolumeAction(e:SliderEvent):void{
				musicaTransform.volume = volumeControl.value;
				musicaCanal.soundTransform = musicaTransform;
		}
 
		/**
		 * @public
		 * controla o som, play e stop;
		 * */
		public function SomAction(e:MouseEvent):void{
 
				var posicao:int = musicaCanal.position;
				if(playButton.label == "Tocar"){
					playButton.label = "Pausa";
					musicaCanal = musica.play(posicao);
				}else{
					musicaCanal.stop();
					playButton.label = "Tocar";
					musicaCanal.stop();
				}
		}
	}
}
Actionscript/ Actionscript Frameworks/ AS 3.0/ Flash CS4

Trabalhando com DataProvider no Flash CS3/CS4

A sintaxe de programação para se trabalhar com DataProvider no Flash CS3 ou CS4 é um pouco diferente da que estamos acostumados no Flex. Entretanto o funcionamento é o mesmo.

O exemplo abaixo, popula um controle de ComboBox, e foi feito com Document Class, caso você queria setar um para rodar em sua máquena.

A primeira coisa que você faz para adicionar dados ao seu controle é justamente criar um objeto DataProvider e setar o source dele para o Array, XML ou coleção de objetos que você tenha. Ele parece muito com o comportamento do ICollectionView do Flex.

Exemplo:

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
package{
		import fl.controls.ComboBox;
		import fl.data.DataProvider;
		import flash.events.Event;
 
		import flash.display.MovieClip;
		[SWF(width="800",height="600", backgroundColor="0xcccccc", frameRate='40')]
		public class Main extends MovieClip {
 
			public var cbx:ComboBox;
			public var arr:Array = ['Sao Paulo','Recife','Rio de Janeiro','Brasilia'];
			public function Main() {
				var d:DataProvider = new DataProvider(arr);
					cbx = new ComboBox();
					cbx.dataProvider = d;
					addChild(cbx);
					cbx.x = 100;
					cbx.y = 100;
					cbx.addEventListener(Event.CHANGE,selecionado);
			}
			private function selecionado(e:Event):void{
				trace(e.target.selectedItem.data.toString());
			}
		}
}
Actionscript/ Actionscript Frameworks/ AS 3.0

Desenho com a Draw API do Actionscript 3.0

Desenhar com Actionscript é bem engraçado. Tem diferentes tipos de métodos e infinitas aplicações, exemplo disso é a gama de elementos, mascaras que o Flash Player suporta. Usando o Draw API que é uma parte do core-framework do Flash Player, onde existem vários métodos mágicos que faz todo o conjunto.

Usando a criatividade e algumas linhas de código, chega-se à um resultado como esse. Clique na área preta e começe a pintar.

Requer o Flash Player

Código do exemplo acima.

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
package {
	import flash.display.MovieClip;
	import flash.display.Sprite;
	import flash.events.MouseEvent;
	import flash.geom.Point;
 
	public class as3Howto extends Sprite
	{
 
		public var arte:MovieClip;
		public function as3Howto()
		{
				arte = new MovieClip();
				addChild(arte);
 
				stage.addEventListener(MouseEvent.MOUSE_DOWN,iniciar);
				stage.addEventListener(MouseEvent.ROLL_OUT,fechar);
				stage.addEventListener(MouseEvent.MOUSE_UP,fechar);
		}
		public function iniciar(e:MouseEvent):void {
				stage.addEventListener(MouseEvent.MOUSE_MOVE,desenhar);
		}
		public function fechar(e:MouseEvent):void{
			stage.removeEventListener(MouseEvent.MOUSE_MOVE,desenhar);
		}
		public function desenhar(e:MouseEvent):void{
			if(e.buttonDown){
						arte.graphics.lineStyle(8,0xAA0000,1);
						arte.graphics.lineTo(stage.mouseX,stage.mouseY);
						arte.graphics.endFill();
			}
		}
 
	}
}
Actionscript/ Actionscript Frameworks/ AS 3.0

Como carregar um arquivo externo no Actionscript 3.0

Começando uma nova categoria aqui no site, para desenvolvedores Flash,AIR,Flash, independentemente de framework sendo SDK do Flex ou não.

O Código abaixo, mostra como carregar um arquevo de XML externo, esse arquevo pode ser um arquevo de texto também (txt).

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
38
39
package {
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.IOErrorEvent;
	import flash.events.SecurityErrorEvent;
	import flash.net.URLLoader;
	import flash.net.URLRequest;
 
	public class as3Howto extends Sprite
	{
 
		public var suaURL:String = "arquevo.xml";
		public var requesita:URLRequest;
		public var loader:URLLoader;
		public function as3Howto()
		{
 
			// montar os objetos
 
			requesita = new URLRequest(suaURL);
			loader = new URLLoader();
			loader.addEventListener(IOErrorEvent.IO_ERROR,ioHandler);
			loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR,segurancaHandler);
			loader.addEventListener(Event.COMPLETE,completoHandler);
			// inicia o processo
			loader.load(requesita);
		}
 
		private function ioHandler(e:IOErrorEvent):void{
				trace(e.text + 'n');
		}
		private function segurancaHandler(e:SecurityErrorEvent):void{
				trace('Erro de segurança'+e.text + 'n');
		}
		private function completoHandler(e:Event):void{
				trace('Carregado com sucesso'+'n');
		}
	}
}
Actionscript Frameworks/ AS 3.0/ Flex/ frameworks/ Notícias/ Web 2.0

Boo-Box Actionscript 3.0 API para Flash/Flex

Opa, estamos felizes por ajudar mais uma vez ao mundo open-source e toda comunidade Flash/Flex brasileira.


Alguém aqui conhece o Boo-Box?

Boo-Box, é um serviço de agregação de produtos on-line que geram renda para você blogueiro, dono de site, é um mix de serviços de afiliados em um só lugar. Por exemplo eles oferecem um serviço que é único para acessar produtos de lojas como a submarino, americanas.com,mercado livre, dentre outros sites internacionais como todos as lojas do amazon,e-bay,etc. Tudo no bom estilo web 2.0.

Está ai entre poucos sites que oferecem API tupiniquem para seus serviços, modelo o qual muito portal e serviço web brasileiro deveriam adotar.

Até então a única api existente para o Boo-Box é em REST(xml/JSON). Por que não portar uma API para o lado cliente e mais ainda para o Flex/Flash.

A API do Boo-Box para actionscript 3.0 é completa, tem todos os serviços que a Boo-Box oferece.

Você só precisar ir no http://code.google.com/p/booboxas3api/

No projeto do google você encontra o SWC para integrar dentro de seu projeto Flash ou Flex, exemplos, documentação da API, tudo para facilitar sua vida.

Agora começe a ganhar dinheiro com suas aplicações Flex ou criar uma loja para isso.

AbsolutoBrasil/ Actionscript Frameworks/ Comunidade

Chamada de colaboradores para o AbsolutoBrasil

Estou precisando de colaboradores para o projeto AbsolutoBrasil.

Semana passada eu retomei o projeto AbsolutoBrasil que visa fortalecer o desenvolvimento de aplicações RIA em Flex de forma fácil.

Nesta nova versão existe uma série de aproveitamentos e novidades, entre elas um MVC. Sendo assim fácil a criação de Model, View e Controller para sua aplicação, muitos componentes de controle, várias classes utilitarias, integração com outras API, Dentre outras idéias.

É um projeto inteiramente Open-source, que você pode encontrar aqui.

Eu não sei se foi por falta de conhecimento dos desenvolvedores ou se não atingiu a forma esperada como eu achei que fosse atingir, mais estou em busca de colaboradores para o projeto.

Se você tem um tempo livre, 2 horas por dia e quer entrar para o time do AbsolutoBrasil, entre em contato.

Estamos precisando de desenvolvedores, novas idéias, snippets,beta testes, implementações. Tudo será bem vindo na medida do possível.

Entre em contato direto comigo. igorcosta@igorcosta.com