Flash Player/ Flash Player 11

Para uma melhor experiência de internet, faça-me o favor, Remova o Flash Player

olho_grande

Infelizmente esse dia chegou. É triste e cansativo esse tópico, porém tudo chega ao seu fim.

O Adobe Flash Player 11.7 chegou à um nível que é insuportável, quebra o navegador toda santa hora, videos, audios e scrub da barrinha de videos lentas e não funcionais e a gota d’água é o consumo de memória.

Já tentou ver video do youtube com essa versão? Já tentou executar uma animação acelerada sem uma placa de video boa? Pois é, o que me parece proposital e o foco é deixar só para joguinhos em redes sociais.

Quando o Flash Player ainda era na versão 10. Eu conseguia usar uma aplicação em Flex com máximo de uso de 34mb de memória, hoje a mesma App com o novo Player está chegando a picos de 157mb ou 160mb. Fora que os navegadores evoluiram e o as3 ficou obsoleto.

Você pode até imaginar que eu esteja ficando maluco, mas olha ai quanta gente está notando o problema.

Isso já não considero mais Web e sim Desktop. Foge do paradigma de melhor tecnologia web.

Estou bem triste em dizer isso, mas para uma melhor experiência do usuário final, remova seu Flash Player, seu navegador vai correr livre, rápido e provavelmente nunca mais travará.

Uma tecnologia brilhante jogada na lata do lixo sem o mínimo de descendência de tirarem o lacre antes de jogá-la.

Não confundam com o Adobe AIR para mobile, esse ainda eu tenho esperança, embora não tenha tanta fé assim.

Ah! próximo projeto, faça com padrões abertos. Triste, muito triste como as coisas acontecem e ao mesmo tempo conformado que tenha chegado ao fim para aplicações.

Atualizado[05 de Junho de 2013]

Sigam o post aqui, acabei de explicar melhor o ocorrido.

AIR 3.0/ AS 2.0/ AS 3.0/ Flash/ Flex

Lançado o SWF Investigator

magnify
A Adobe mesmo timidamente, acaba de lança no site do Labs uma ferramenta feita em Adobe AIR que o nome por sí ja entrega o que ela se propõe. Vasculhar SWF feito por desenvolvedores.

O aplicativo funciona para Mac e Windows, e vasculha desde código fonte feito em as2 e as3 assim como informações do LSO(Local sharedObject), busca por falhas e vunerabilidades no arquivo.

Para o aplicativo ser construído, eles usaram o native process, native instalation e native extensions, Ah! sem contar que o aplicativo é gratuito e open-source.

Vale a pena o Download.

Flash Lite/ Flash Player/ Flash Player 11/ Notícias

Adobe desiste do Flash Player plug-in para dispositivos móveis

Eu adoro ler uma boa notícia, mais quando eu leio notícias como essas eu realmente fico triste com a falta de cultura e informação desses redatores.

Pois bem, como você já deve ter lido por algum canal de notícias, a Adobe desistiu de continuar o Flash Player para dispositivos móveis assim como ela fez com o Flash Player para celulares Nokia, vai dizer que você esqueceu do Flash Lite ? Pois eu lembro.

Na lista de discussão flex-mobile eu colei minha opinião sobre o assunto, faço dela um complemento a minha resposta dada em Fevereiro de 2010 com o título (Flex e AIR para dispositivos móveis brigando contra o bixo papão), especialmente, para você que está desacreditado com o Flash, por que leu a notícia de algum site de ao invés de informar, vira senacionalista.

Alguém aqui fazia apps Flex para mobile que rodassem no Browser? Acho que
0,0001% fez ou faz.

O certo é Apps móveis, apps instaladas, o Flash/Flex/AS3 continua
excepcionalmente bem. A única mudança da Adobe é por parte de um plug-in,
que é parte progressiva de uma tecnologia de transição.
Continuem apostando no Flex, continuem apostando no HTML5/CSS3/JS.

Não é Steve Jobs ou coisa do tipo, é realmente questão de acordar, a Adobe
realmente caiu na real sobre o processo de estagnação mórbida que durava
mais de 3 anos em preservar o mesmo erro.

O que é dito hoje, não é mais válido daqui 6 meses. Quem realmente trabalha
com tecnologia sabe que ela muda constantemente.

EU Igor Costa e como CTO da RIACycle, eu continuo apostando em tecnologias
emergentes (HTML5/CSS3/JS) e em tecnologias sólidas(Flex/Flash/AS3/Java), o
que você não pode esquecer é de entregar o produto do cliente.
Se você entra no mercado de TI, você deve ser dinâmico assim como é o
mercado e as tecnologias que são colocadas em nossas mãos.

Positividade galera. O mercado está muito bom com todas essas mudanças.

Entenda as oportunidades, elas sempre estão presentes, não se deixe levar pelo lado impulsivo da notícia.

Flash/ Flex/ Google

SDK do Google Maps para Flash e Flex será descontinuado pelo Google

Infelizmente como tudo na vida, temos as três fases, início, meio e fim.

A última parte doi mais ainda quando você ver que tem certas prioridades para serem vencidas no Google como o uso geral. Salvar milhões do que minoria. E esse pensamento é bem certo quando você detém aquilo que criou.

O Google acabou de anunciar que vai descontinuar a versão do SDK do Flash/Flex que ele tem para plataforma Flash, e focando seus esforços apenas na plataforma Javascript que tem ai uma infinidade de funções e com versões sendo liberadas bem mais rápidas do que para a versão para Flash.

Calma ai, não se desespere, o Google não vai dar um shutdown total no projeto, ele só não irá mais implementar novas funções, e corrigirá apenas falhas críticas e problemas de segurança, você continuará usando o Google Maps Component em suas apps Flex/Flash.

Actionscript/ AS 3.0/ Comunidade/ Dicas/ Eventos/ Flex

É amanhã o Flex Mania 2011, preparados?

promo_flexmania_blogpost

Mais uma edição do Flex Mania e esse ano colocamos para quebrar com a qualidade das palestras, temos várias surpresas para anunciar nessa edição. Já conferiu a agenda?

Não precisa correr, cadastrar ou qualquer coisa do tipo, é grátis, basta entrar com seu nome e sobrenome e já está dentro da sala para assistir os melhores profissionais da indústria.

Te vejo por lá.

Flex/ Flex 4/ Flex Builder 4/ HTML 5

Flex 4 e Geolocation usando no navegador do seu desktop

Mundo moderno, Web moderna, querendo ou não você vai acabar criando ou vendo em algum site, a integração da sua localização com o aplicativo, e isso acaba virando regra em algumas opções que temos por ai. Imagine você ter formulários mais inteligentes, que ao invés de pegar o endereço completo do cliente, você pega sua latitude, longitude e o número da residência e complemento. Bingo! Você cativa inúmeros usuários.

O HTML 5, ou melhor HTML, tem uma API em Javascript padronizada pela W3C, que possui essa funcionabilidade, pegar sua localização através de IP ou registro do seu ponto de acesso wi-fi caso esteja cadastrado na base do NIC ou coisa parecida.

Essa API ao menos funciona nos seguintes navegadores (Firefox 3.5+, Chrome 8+, IE9+,Opera 10.6+,Safari 5), conseqüentemente se seu usuário tiver um navegador anterior a essas versões, peça-o gentilmente para atualizar, assim você consegue usar essa funcionabilidade.

Infelizmente, o Flash Player ainda não tira proveito disso. Logo em breve acredito que ele utilize esse artifício. Hoje o Adobe AIR 2.5 possui API pronta para isso, só que para celular, para Desktop você tem que fazer um workaround, ou no popular brasileiro, da-se um jeito.

O Flash Player comunica-se muito bem com o Javascript, e vice-versa. Por que não usar esse canal de comunicação e criarmos nosso aplicativo Flex que tire proveito da API do navegador já padronizada e usar a classe External Interface do Flash Player para pegar a latitude, longitude e por ai vai.

Mão na massa, ou melhor no código!

Supondo que você já tenha o Flash Builder devidamente instalado. você pode seguir o passo-a-passo.

1. Crie um novo Projeto em seu Flash Builder
2. geo

Analise a extrutura de nosso projeto, veja que existe uma pasta chamada html-template, abra ela e você vai ver que existe 3 arquivos e 1 diretório, index.template.html, playerProdutInstall.swf, swfobject.js e o diretório history

O que nos interesse nesse momento é o index.template.html, caso você esteja usando o Flash Builder puro sem nenhum editor de HTML, você pode clicar sobre o botão direito do mouse em cima do arquivo, escolher a opção Open With- > Text Editor.

Como a publicação do Flash Builder é inteiramente dinâmica, queremos que nossa função de pegar o geolocation seja dinamica. Ou melhor, respeite a execução do projeto sempre que você der um build ou run.

3. Próximo passo é criar a função em javascript nesse arquivo de index.template.html para pegar o geolocation.

Para inserir o código em Javascript, coloque no intervalo .

        

Criei 2 funções, 1 que fará a requisição, para o navegador, e automaticamente ele vai pedir ao seu usuário para permitir ou não o uso de sua posição para aquela aplicação em questão. Aparecendo um pequeno alerta do navegador. É interessante notar ou avisar ao seu usuário sobre isso, por que o alerta de pedido de geolocation é um alerta similar a barra de lembrar senha do navegador, e poucos podem não prestar atenção a essa barra e ficar sem saber o que fazer em algum determinado momento em sua aplicação.

geo2

Preste atenção na função document.getElementById, eu uso o js para aplicar o envio automático da minha localização através da passagem de parametro do meu swf, aplicando a sintaxe básica do SWFObject.

Não esqueça de marcar a opção , caso contrário ele não vai enviar a posição ou se comunicar com o js.
Por que alterar o index.template.html?

Por que sempre que você publica ou executa o Run no Flash Builder ele gera novamente um arquivo de html, swf, js sempre. Então se você altera ele uma única vez no template, você não precisará fazer isso sempre.

Okay, feito isso. Vamos ao Flex.

Crie uma nova Classe e estenda da classe EventDispatcher, eu chamei minha classe de GeoLocation.as.

package
{
	import flash.events.Event;
	import flash.events.EventDispatcher;
	import flash.external.ExternalInterface;

	public class GeoLocation extends EventDispatcher
	{

		private var _lat:String = "";
		private var _long:String = "";


		public function GeoLocation()
		{
			super();
			//adiciono primeiro o callback
			ExternalInterface.addCallback("enviarLatLong",geoInfo);
			// Chamo posteriormente o requisitarGeo
			ExternalInterface.call("requisitarGeo");
		}


		[Bindable(event="change")]
		public function get latitude():String
		{
			return _lat;
		}

		public function set latitude(value:String):void
		{
				_lat = value;
		}

		[Bindable(event="change")]
		public function get longitude():String
		{
			return _long;
		}

		public function set longitude(value:String):void
		{
				_long = value;

		}

		private function geoInfo(lati:String,longi:String):void
		{
			_lat = lati;
			_long = longi;
			dispatchEvent(new Event(Event.CHANGE));
		}

	}
}

Com a classe GeoLocation, eu consigo agora pegar as informações de localização, embora eu não tratei nenhum erro, é importante você notar isso quando for implementar, lembrando que essa classe não é visível, ela é apenas para exemplo.

Feito isso, como implementar a classe na sua aplicação Flex?

Simples, dentro do tag , eu instancio a classe, já que a chamada do processo de externo chamei no construtor. Então veja como podemos usar.




	
		
		
	
		
				
		

		
		


E voilá, temos as coordenadas estabelecidas.

geo3

Ok, com a latitude e longitude eu consigo usar o Google Maps for Flash e criar um mapa que aponte.

AIR Mobile/ Flash Builder/ Flash Catalyst/ Flex/ Flex Builder 4

O que há e o que será possível fazer com o Flex 4.5?

Andrew Shorten é o cara que manda em toda plataforma de desenvolvedores da Adobe, isso inclui Flex/Flash/Flash Builder/ColdFusion/ColdFusion IDE/ Dreamweaver.
O foco dele nesse momento é ajudar a tornar realidade de criar aplicações móveis usando o Framework Flex. Em um dos cursos da RIACycle já mostramos para empresas e alunos interessados em aprender antes de ser lançado no mercado.

Só que esse post não é para falar de propaganda e sim nessa conversa franca que Andrew e com o entrevistador da DZone. Se você desenvolve seriamente com Flex, você deve assistir esse vídeo.

Tem inúmeras diferenças, e uma delas que eu estou amando até o momento é a possibilidade de usar 1 IDE para criar aplicações com 1 código para Desktop/TV/Mobile.

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;

		}
	}
}