Apache Flex/ Flex

Apache Flex e requisições PUT/GET/POST/DELETE

rest-php-call

Exsitem vários posts aqui sobre REST, vez ou outra alguém sempre anda perguntando nas listas como usar arquitetura REST com o Flex, já que ele suporta apenas GET/POST por padrão. Na verdade essa última sentença é falsa, já que desde a versão 4.9 o Flex possui suporte a REST completo.

Vejamos um exemplo básico:

Suponha-se que você tem um serviço REST e que ele se comunique com o formato JSON, geralmente em 99.99% dos casos são assim, você teria algo do tipo:

 
GET: /posts/all
PUT: /posts/{id}
POST:/posts/new
DELETE:/posts{id}

E você precisa chamar esses métodos dentro da sua interface Flex, basicamente você faria da seguinte forma.

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
			   xmlns:s="library://ns.adobe.com/flex/spark" 
			   xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
 
	<s:layout>
		<s:VerticalLayout/>
	</s:layout>
	<fx:Declarations>
		<s:HTTPService id="REstfulService_demo" resultFormat="text" result="getRestfulHandler(event)" fault="faultRestfulHandler(event)">
 
		</s:HTTPService>
	</fx:Declarations>
 
	<fx:Script>
		<![CDATA[
			import mx.rpc.events.FaultEvent;
			import mx.rpc.events.ResultEvent;
 
			private var demo_url:String = "http://www.seusite.com/api/";
			protected function callService(method:String):void
			{
					switch(method)
					{
						case 'GET':
								REstfulService_demo.method = 'GET';
								REstfulService_demo.url = demo_url + '/posts/all';
						break;
						case 'POST':			
								REstfulService_demo.method = 'POST';
								REstfulService_demo.headers = 'application/json';
								REstfulService_demo.request = JSON.stringify(new Post(id_post,'exemplo de titulo'));
								REstfulService_demo.url = demo_url + '/posts/new';
						break;
						case 'DELETE':
								var id_post:Number = 100;
								REstfulService_demo.method = 'DELETE';
								REstfulService_demo.headers = 'application/json';
								REstfulService_demo.request = id_post;
							break;
						case 'PUT':
								var id_post:Number = 100;
								REstfulService_demo.method = 'PUT';
								REstfulService_demo.headers = 'application/json';
								REstfulService_demo.request = id_post;
							break;
					}
 
 
					REstfulService_demo.send();
 
			}
 
			protected function getRestfulHandler(event:ResultEvent):void
			{
				// tratar o retorno
 
			}
 
			protected function faultRestfulHandler(event:FaultEvent):void
			{
				// ver mensagem de erro em modo debug
				trace(event.fault.toString());
 
			}
 
		]]>
	</fx:Script>
 
	<s:HGroup>
		<s:Button label="PUT" click="callService('PUT')"/>
		<s:Button label="POST" click="callService('POST')"/>
		<s:Button label="DELETE" click="callService('DELETE')"/>
		<s:Button label="GET" click="callService('GET')"/>
	</s:HGroup>
</s:Application>

Basta setar o Headers da requisição para aceitar o formato JSON, assim sua interface Flex comunica-se perfeitamente com o serviço.

Adobe AIR 101/ Flash/ Flash Builder/ Flash Player/ Flash Player 11/ Flex

Parâmetros para SWF version

air_2_lg.jpg.adimg.mw.138

Com uma atualização frenética e muito rápida, ficou dificil o compilador do Actionscript 3.0 acompanhar essa mudança, principalmente desenvolvedor.

Para tirar proveito dessas novas API, especialmente para o FP 11.x e AIR 3.x você precisa conhecer o parametro -swf-version, ele vai te salvar.

Esse parametro, força o SWF da app rodar na versão especifica do Player ou do AIR que foi compilado, tirando proveito das melhorias e principalmente das novas APIs.

[table style=”1″]
Parametro Flash Player Adobe AIR
-swf-version=9 9.0.115.0 Nenhum
-swf-version=10 10.1 Nenhum
-swf-version=11 10.2 2.6
-swf-version=12 10.3 2.7
-swf-version=13 11.0 2.7
-swf-version=14 11.1 3.1
-swf-version=15 11.2 3.2
-swf-version=16 11.3 3.3
-swf-version=17 11.4 3.4
-swf-version=18 11.5 3.5
-swf-version=19 11.6 3.6
-swf-version=20 11.7 3.7
-swf-version=21 11.8 3.8
-swf-version=22 11.9 3.9
[/table]

Para acompanhar cada release e ver o que vem de novo, basta seguir o link e salvar nos favoritos.

Alternativa ao Flex Builder/ Apache Flex/ Flash Builder 4.5/ Flex/ Flex Builder 4/ Notícias/ Open-source

Modo visual do Flash Builder feito em Javascript

first-shot

Quando a Adobe decidiu arrancar sem dó o modo visual do Flash Builder muita gente esperniou como um bebê por que isso era uma mão na roda, já que a plataforma em sí por todos esse anos foi conhecida como RAD (Rapid Application Development), uma IDE que fizesse o arrastar e soltar e gerar código ao mesmo tempo seria fantástico do ponto de vista quem depende dela, acho que é por esse motivo que muita gente não sai do Visual Studio, te deixa muito confortável. Em fim!

Ontem eu fiquei curioso, o Janderson , havia me mostrado o Layoutit que é um projetinho bem bacana que te ajuda a criar interfaces para a Web usando o Twitter Bootstrap, é uma mão na roda para prototipar páginas de forma rápida e sem escrever código.

Como eu ando tão atarefado entre jogo multi-player( vai demorar um pouco para sair), e o cycle.JS, dificil arranjar tempo para hackear você mesmo.

Dificil? Se é! Da próxima vez que eu ver uma IDE com essa função vou trata-la de forma mais respeitosa, por que montar um troço desse com tamanha qualidade é um trabalho absurdo e consome seu precioso tempo entre as teclas CTRL+F5.

E esse foi o resultado da operação depois de 72 horas desenvolvendo:

first-shot

Você pode rodar ele direto do seu navegador, seja no iPad, Android, Windows, Mac, Linux, só requerer que você tenha o Chrome instalado.

Quem quiser já começar a testar [button link=”/projetos/apacheflexuibuilder” color=”#7ec115″ size=”3″ style=”1″ dark=”0″ radius=”5″ target=”blank”]Testar Agora[/button]

Bugs, falhas, reportem direto no Github, esse é um típico projeto que te deixo livre para fazer um Fork, modificar, refazer e colocar ele adiante.

Dedicado ao pessoal da comunidade Flex, Flex-Brasil, Flex-dev, Janderson, Erko.

Apache Flex/ Flex/ Sem categoria

Mapas para o Apache Flex

flex-maps

Se você tentou utilizar o Google Maps para a plataforma Flash nos últimos meses, você deve estar em um mar de apuros, o suporte a chave de requisição acabou e o projeto foi descontinuado e o Google Maps for Flash vai funcionar só até Setembro de 2014. Até o Yahoo Maps para Flash foi cancelado. E agora o que você pode fazer?

Pois é, muita gente ficou orfão de mapas em solução Flex, existe o MapQuest, só que não é tão bom no Brasil quanto nos EUA.

Se você já tem uma solução em Flex e que utilize o Google Maps, Yahoo, continue com ela, agora se você está pensando em colocar mapas em sua App Flex, o mais fácil será utilizar o Google Maps for Javascript e se comunicar com ele. Porém fica uma solução híbrida e pode afetar em alguma parte o workflow que você teria se tivesse dentro da própria aplicação.

Apresento a vocês uma solução Open-source que pode salvar muito desenvolvedor Flex que ficou abandonado.

Flex-Map

é uma solução Open-source que vai te ajudar a criar mapas para suas Apps Flex sem se preocupar mais com os distribuidores de mapas.

O grande problema com mapas hoje do Flex é que existem 1 alternativa para 1 distribuidor, como Google, Nokia, Microsoft, Openstreet. E se você for utilizar algum deles você acaba criando várias bibliotecas para administrar. Então é ai onde o Flex-Maps entra, com 1 só biblioteca você pode escolher qual distribuidor de mapas você quer para sua App.

Atualmente eu deixei suportando apenas os seguintes distribuidores:

  • Open Street
  • Nokia Here
  • Yahoo Maps
  • Microsoft Bing
  • Nasa Blue Marble

Construindo sua App com Mapas

É bem fácil implementar essa solução de mapas em suas App Flex, basta fazer o seguinte.

Ir ao repositório do Github. Baixar o projeto e criar um novo projeto no Flash Builder, adicionar o SWC disponível no Github e adicionar o seguinte código em sua App.
flex-maps

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
			   xmlns:s="library://ns.adobe.com/flex/spark" 
			   xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" xmlns:flex="org.apache.flex.maps.flex.*">
		<s:layout>
			<s:VerticalLayout/>
		</s:layout>	 
 
		<fx:Script>
			<![CDATA[
				import spark.events.IndexChangeEvent;
 
				protected function onProviderChanged(event:IndexChangeEvent):void
				{
					myMap.provider = provider.selectedItem.value;
				}
 
			]]>
		</fx:Script>
		<s:HGroup>
			<s:Button width="82" height="22" label="Zoom In" click="myMap.map.zoomIn(event)"/>
			<s:Button label="Zoom Out" click="myMap.map.zoomOut(event)"/>
				<s:ComboBox id="provider" change="onProviderChanged(event)">
						<s:dataProvider>
							<s:ArrayList>
								<fx:Object label="NASA BLUE MARBLE" value="BLUE_MARBLE"/>
								<fx:Object label="Open Street Map" value="OPEN_STREET_MAP"/>
								<fx:Object label="Nokia HERE Normal" value="HERE_MAP_NORMAL"/>
								<fx:Object label="Nokia HERE Hybrid" value="HERE_MAP_HYBRID"/>
								<fx:Object label="Yahoo Aerial" value="YAHOO_AERIAL"/>
								<fx:Object label="Yahoo Hybrid" value="YAHOO_HYBRID"/>
								<fx:Object label="Yahoo Road" value="YAHOO_ROAD"/>								
								<fx:Object label="Nokia HERE TERRAIN" value="HERE_MAP_TERRAIN"/>
								<fx:Object label="Microsoft Hybrid" value="MICROSOFT_HYBRID"/>
								<fx:Object label="Microsoft Hybrid" value="MICROSOFT_HYBRID"/>
								<fx:Object label="Microsoft Aerial" value="MICROSOFT_AERIAL"/>
								<fx:Object label="Microsoft ROAD" value="MICROSOFT_ROAD"/>
							</s:ArrayList>
						</s:dataProvider>
				</s:ComboBox>
		</s:HGroup>
 
 
				<flex:FlexMap showControls="true" id="myMap"
									 width="100%" extent="-9.4384955,-40.3835929,12,0,0" height="100%" 
									 draggable="true" provider="HERE_MAP_HYBRID" 
									 zoom="12" center="-9.4384955,-40.3835929,12,0,0"
									 doubleClick="myMap.map.onDoubleClick(event)" />
</s:Application>

Viu que é fácil?

O código fonte está disponível no Github, dê um fork. O mapa para o Google ainda está em desenvolvimento.

Apache Flex/ Flex

Apache Flex 4.9 SDK liberado para download

apache_flex_logo

Acabamos de liberar mais uma versão do Apache Flex SDK a 4.9 com ela algumas mudanças substanciais e necessárias, em especial ao Mustella.

Dentre as mudanças mais aguardada era a possibilidade de compilar usano o Java 7, agora é possível e o TLF (Text Layout Framework) que passa a ser parte do SDK.

Assim como anunciei aqui, o Apache Flex agora não deixa de ser apenas projeto incubado e passa a ser um projeto que fica na mesma sala do Apache Tomcat.
O futuro do SDK

Tem muito rumor falso que o Flex já se foi, ou está fraco, tudo isso acontece em qualquer área, a diferença é apenas que o Flex agora é projeto vindo e fornecido por uma  fundação sem fins lucrativos, ou seja teremos mais colaboradores, menor ciclos de releases e mais qualidade de código.

Estamos preprando algumas mudanças para a versão 5.0 que terá como alvo principal o suporte ao Flacon compiler, já que o compilador foi doado e faz parte do projeto.

Dentre as mudanças está a adaptação do SDK para o novo compilador, dando suporte alguns elementos MXML, incorporação de novos componentes vindos da comunidade.

Estamos trabalhando em um novo site para o projeto que vai ao ar em breve.

FalconJS

O FlaconJS ainda está em estágio inicial, que é a possibilidade de escrever em Actionscript e ele gerar CSS,HTML e Javascript. Para suas Apps, porém é bastante limitado no atual momento, já que consegue suportar apenas Classes em Actionscript para Javascript. Devido sua similaridade entre ambas.

O suporte a MXML e 80% do código do SDK ser suportado no FlaconJS é trabalho para até ano que vem, quando novas releases acontecerão.

 

IDE de desenvolvimento com suporte

A Adobe continua a produzir e aprimorar o Flash Builder para dá suporte ao Apache Flex 4.9 SDK, visto isso quem tiver comprado o Flash Builder 4.5 tem direito a um serial e baixar o Flash Builder 4.7 gratuitamente. A única coisa é você baixar o SDK e instala-lo.

Adobe Flash Builder 4.7
PowerFlasher FDT
Flash Develop
Intellij IDE

 

Faça o download do SDK

 

Apache Flex/ Flex

Apache Flex deixa de ser incubado e passa a ser oficial

apache_flex_logo

apache_flex_logo

 

É oficial, e uma boa maneira de começar 2013 com o projeto Apache Flex sendo um projeto oficial da fundação, devido a diversas contribuições e a frenética troca de mensagens na lista o projeto continua firme e forte.

Depois de votarem no final de Novembro o projeto entrou em um novo estágio e passa agora a ficar na mesma fileira de importância como o Apache Tomcat ou Apache Ant.

Trago mais notícias para vocês no próximo ano.

 

Flash Builder/ Flex

Flash Builder 4.7 Beta está aqui!

flashbuilder4_7

Quem estava anciosamente esperando pelo Flash Builder 4.7 ele está disponível para baixar, nessa versão beta, ele vem com várias novidades, dentre elas a mais esperada era o suporte ao compilador Falcon.

Cada novidade acompanha as implementações feitas do Flash Player 11.4 e Adobe AIR 3.4(beta).

O Flash Builder está muito mais leve, já que retiraram o modo design dessa atual versão, o que para muita gente novata pode ser um problema, já que estava acostumada a drag e drop de componentes, porém com essa remoção traz-se o melhor da IDE, velocidade e produtividade.

O novo compilador traz algumas vantagens em relação ao atual 4.6, já que foi escrito por completo do zero, adicionaram a ele novidades já existentes em plataformas de desenvolvimento como o Microsoft Visual Studio, dentre as novidades do Flash Builder 4.7 as mais importantes são:

  • Suporte ao Apache Flex 4.8 SDK
  • Novo compilador para projetos em Actionscript 3.0
  • Suporte na criação de Actionscript Workers
  • Suporte melhorado ao desenvolvimento de Apps para iOS direto via USB para iPad/iPhone/iPod e também simulator(apenas usuários mac)
  • Configurando múltiplos builds para plataformas diferentes (Mobile)
  • Melhorias no import automático de classes e dependências

Veja o release notes e saiba mais sobre as novidades do Flash Builder 4.7 Beta.

Android/ Blackberry/ Flex/ Flex Mobile Framework/ HTML 5/ HTML5 / CSS3/ JQuery/ JQuery Mobile

Criando uma lista de scroll infinito para seu próximo projeto Mobile

scroll_inifinito_1

Coisa boa na vida é ter desafios, puxa daqui e puxa dali, e acabamos com uma idéia nova em um novo projeto não é verdade? Outra coisa melhor é você ter alunos onde você dá suporte o tempo todo, é o que acabou motivando a criação desse artigo.

Independente de qual é seu próximo projeto, você vai acabar querendo implementar isso uma vez na vida no seu próximo projeto mobile.

Sorte sua se seu próximo projeto for escrito em Flex Mobile ou JQuery Mobile.

Como funciona o Scroll Inifinito?

Independente do tamanho da tela de seu dispositivo, você pode calcular a altura da tela disponível no aparelho vs. altura que o conteúdo produziu para ser disponibilizado, sendo que você pode pegar a posição atual da barra de rolagem “scroller” quando ela atingir a altura  total do conteúdo ou seja, quando ela não tiver mais para onde deslizar até o final.

É ai onde entra o scroll inifinito, você pegando essas variáveis e fazendo o calculo direito, você pode fazer um Append ou incrementar os elementos de uma lista existente, seja Array, Lista, Datalist não importa, você pode implementar isso de maneira fácil usando o seguinte calculo.

 

posicaoAtualDoScroll == ( tamanhoAtualDaLista – tamanhoDisponivelNaTela)

 

Assim, você pode ir incrementando a lista se a barra de rolagem atinge o tamanho máximo disponível na tela e com isso vai paginando os resultados, tanto localmente quanto via chamada de processo remoto RESTful,RTMP,Ajax.

 

Versão Flex Mobile

Para fazer no Flex Mobile, você precisa conhecer bem a arquitetura Spark, uma vez que é desacoplada, a interface do componente, você pode começar investigando o Skin atual do componente <s:List/> até chegar duas propriedades importante do Skin que fazem menção ao componente em sí, dataGroup e scroller , ambos são peça fundamental para começar a implementar tal tarefa.

O dataGroup é onde os dados são guardados na lista e scroller é o componente que faz a barra de rolagem, é com ele que observamos a mudança acontecendo da posicaoAtualDoScroll e assim fazer o uso da formula  de condição e carregar mais itens.
Já que eu observo a mudança de posição do Scroller, eu tenho que chegar até o componente e escutar via EventListener qual é a propriedade que está sendo modificada, para isso o framework do Flex tem o evento PropertyChangeEvent, ele me dá o novo valor que a propriedade sofreu.

As propriedades em questão do scroller que eu quero saber são “verticalScrollPosition” para posição vertical e “horizontalScrollPosition” para posição horizontal.

Então sabendo qual é as propriedades que eu tenho que olhar eu procuro alinhar a formula usando o novo valor menos o tamanho atual da lista sobre o tamanho da tela.

Acabei criando o seguinte 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
<?xml version="1.0" encoding="utf-8"?>
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009" 
		xmlns:s="library://ns.adobe.com/flex/spark" title="HomeView">
	<fx:Declarations>
		<!-- Place non-visual elements (e.g., services, value objects) here -->
	</fx:Declarations>
	<fx:Script>
		<![CDATA[
			import mx.collections.ArrayList;
			import mx.events.FlexEvent;
			import mx.events.PropertyChangeEvent;
 
 
			[Bindable]private var dados:ArrayList = new ArrayList();
			private var proxima_pagina:int = 20; // numero de itens para carregar
 
			protected function loadItens(event:FlexEvent):void
			{
				for (var i:int = 0; i <19; i++) 
				{
					var item:Object = new Object();
					item.label = "Item "+i;
					dados.addItem(item);
				}
				lista.scroller.viewport.addEventListener(PropertyChangeEvent.PROPERTY_CHANGE,getPosicao);
 
			}
 
			private var posicao_anterior:int;
 
			protected function getPosicao(event:PropertyChangeEvent	):void
			{	
 
				if(event.property == "verticalScrollPosition"){
 
					if(event.newValue == (event.currentTarget.measuredHeight - event.currentTarget.height)){
							carregarMaisItens();
					}
				}
			}
 
			private function carregarMaisItens():void
			{
				var indice:int = dados.length;
 
				for (var i:int=0;i<=proxima_pagina;i++) 
				{
					var item:Object = new Object();
					item.label = "Item Carregado "+(i+indice);
					dados.addItem(item);
					trace(item['label']);
				}
 
 
			}
 
		]]>
	</fx:Script>
	<s:List id="lista" dataProvider="{dados}" creationComplete="loadItens(event)" width="100%" height="100%">
 
	</s:List>
</s:View>

 

Veja que além do scroller me dá as propriedades de posição do verticalScrollPosition e horizontalScrollPosition, você precisa usar a propriedade reservada dele para pegar essas mudanças acontecendo, é como se fosse uma caixa onde a barra de rolagem vai indo porém é pre-definido um espaço onde isso pode acontecer, que é o caso da variável viewport.

 

Versão JQuery Mobile

Para fazer em JQuery mobile, é também a mesma técnica, porém uma ressalva, o componente de lista do JQuery Mobile requer que você dê um refresh no listView, é uma espécie de renderização dos itens para aplicar os estilos padrões de CSS.

A diferença entre Flex Mobile e JQuery Mobile é que no Flex eu adiciono direto ao componente, já que o pai View não é passível de ter o Scroller, já no caso do JQuery Mobile como tudo é HTML e o DOM é manipulado diretamente no documento, eu escuto as mudanças do $(window) que é a janela ou tamanho da tela disponível, assim comparo através da mesma fórmula o scrollTop que basicamente é equivalente a verticalScrollPosition e diminuo do tamanho da lista menos o tamanho disponível da tela.

O código acabou ficando assim:

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
<html>
<head>
	<title></title>
	<link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.1/jquery.mobile-1.1.1.min.css" />
	<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
	<script src="http://code.jquery.com/mobile/1.1.1/jquery.mobile-1.1.1.min.js"></script>
</head>
<body>
<script type="text/javascript">
$(document).ready(function($) {
 
 
 
 
 
	carregarItens(20); // 20 itens 
 
 
 
 
	$(window).scroll(function()
	{
	    if($(window).scrollTop() == $(document).height() - $(window).height())
	    {
	    	  carregarItens(20); // carrega sempre 20 itens
	    }
	        
	    	
	});
 
 
 
 
});
 
 
 
 
function carregarItens(pagina){
	var tamanhoLista = $("#lista li").length; // tamanho atual da lista
	for (var i = 1; i < pagina; i++) {
		var indice = i + tamanhoLista;
		$("#lista").append('<li data-theme="c"><a href="#page1" data-transition="slide"> Item '+indice+'</a></li>');
		$("#lista").listview('refresh');
	};
}
</script>
<!-- Home -->
<div data-role="page" id="page1">
    <div data-theme="d" data-role="header" data-position="fixed">
        <h3>
            Exemplo Lista
        </h3>
    </div>
    <div data-role="content" style="padding: 15px">
        <ul id="lista" data-role="listview" data-divider-theme="d" data-inset="false">
            <li data-theme="c">
                <a href="#page1" data-transition="slide">
                    Item
                </a>
            </li>
        </ul>
    </div>
</div>
</body>
</html>

Da próxima vez que você ver no Twitter ou no Dzone uma lista de scroll infinito, você já saberá como implementa-la.

 

Flex

Apache Flex 4.8 disponível para download

apache_flex_logo

Desde que a tecnologia Flex foi doada para fundação Apache o projeto em sí é um sucesso, em pouco tempo conseguimos concluir a primeira etapa de incubação que foi boa parte feita pela equipe de transição da Adobe, onde foram doados os frameworks e bibliotecas necessárias, documentação e exoneração de direitos autorais da Adobe para com o Flex SDK, e transitando bibliotecas proprietárias para alternativas open-source.

Puxa daqui, deleta acolá, finalmente conseguimos criar a primeira release sob o teto da fundação Apache. A comunidade continua amplamente ativa, visto o fato que o Flex ainda é um sucesso entre as 500 maiores empresas segundo a Fortune, já que é comercialmente viável, muita contribuição ao projeto é dada.

A participação brasileira ainda é tímida, porém presente, eu sendo o único Flex committer brasileiro no time, sinto que precisamos colaborar muito mais, por que potencial e uso nós temos de sobra para a tecnologia.

Mudando um pouco de assunto, sobre o SDK, boa parte do release é correções de bugs da versão anterior a 4.6, onde muita coisa foi ajeitada, aproximadamente 60 bugs corrigidos e direitos autorais removidos da Adobe por parte do projeto, onde representa um marco da tecnologia vinda de uma companhia apenas e caindo na graça e uso da comunidade de software livre.

A grande e maior novidade está por vir que é a possibilidade de compilar actionscript e mxml e resultar em HTML/CSS/Javascript. o compilador Falcon está quase pronto para ser doado pela Adobe para fundação ainda esse trimestre Q3, que faz parte do road map  “Flex White paper” que a Adobe lançou no inicio desse ano para acalmar os usuários da tecnologia que investiram abersa.

Quem quiser baixar o SDK basta visitar o endereço. http://incubator.apache.org/flex/

Prometo que o próximo post é falando como baixar, configurar e utilizar o SDK no seu atual Flash Builder,FDT manualmente ou usando um aplicativo feito por um dos committer Om, que fica bem fácil de utilizar o novo SDK no seu Flash Builder.

 

 

 

 

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.