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

Compilador Falcon, próximo de ser doado para fundação Apache

apache_flex_logo

Você já deve ter ouvido falar do novo compilador que a Adobe estava trabalhando para criar apps Flex mais robusta e consumindo muito menos memória.

Como faz parte do RoadMap não só doar o compilador Falcon para fundação Apache, a Adobe também irá doar o FalconJS que faz a trans-compilação de MXML e Actionscript para padrões Web (HTML,CSS e Javascript).

 

O FalconJS ainda não tem planos para chegar ao repositório da fundação, porém o Falcon já está liberado para doação, até sexta-feira ele deve entrar no Trunk do projeto e pode ser baixado para sua máquina.

 

Vale lembrar que ele ainda está em fase pre-alpha e será evoluido por nós e a comando dos committers da Apache. Tem muita coisa para ser feita, porém é um grande avanço.

 

Leia o histórico do compilador na wiki do Apache Flex.

Flex

Flex agora é uma marca registrada da Fundação Apache

apache_flex_logo

É uma grande vitória da comunidade que tenta colocar o Flex novamente no eixo sob o comando da comunidade, agora várias outras empresas podem criar soluções que complementem o SDK do Flex sem se preocupar com citações nos tribunais.

A Adobe hoje assinou o documento que legaliza o uso da marca para fundação Apache, porém poderá explorar comercialmente o nome “Adobe Flex” para os próximos 3 anos.

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.

 

 

 

 

Cursos/ Flex/ Flex Mobile Framework

Ajudando alunos a inovarem e empreenderem

Já faz pouco mais de 1 ano desde o lançamento dos cursos de Mobile na RIACycle, onde eu e o Stefan ministramos treinamentos para nossos mais de 6 mil alunos nos últimos 3 anos.

Dentre esse curto intervalo de tempo tivemos cases de sucesso de nossos alunos, muitos deles retornam e nos comentam como foi fundamental aprender conosco para empreender e sonhar alto.

Esse é o caso do nosso aluno Luis Fernando Kalfels ( ex-aluno do curso de Flex Mobile), que fundou a iPro Tecnologia, junto com seu sócio. Ele nos mandou um e-mail para lá de positivo, Veja abaixo.

———- Mensagem encaminhada ———-
De: Luis Fernando Kalfels
Data: 11 de abril de 2012 15:32
Assunto: O curso de Flex Mobile rendeu nova empresa.
Para: Igor Costa

Boa tarde professor Igor.

Primeiramente venho agradecer pelo curso que realizei contigo no ano passado de desenvolvimento para Android e iOS com Flex Mobile.

E comentar que já rendeu frutos, estamos eu e meu sócio com o primeiro aplicativo lançado e publicado na Apple Store e Google Play Store.

Trata-se do aplicativo Itajaí Stopover, desenvolvido totalmente no Adobe Flex para o evento da Volvo Ocean Race no Brasil que está acontecendo neste momento em Itajaí – SC

Gostaria de lhe informar que tudo ocorreu bem, desde o término do desenvolvimento até a publicação, ou seja, tudo que foi aprendido no curso foi aplicado na prática.

Gostaria se possível, que o professor pudesse dar uma força pra gente divulgando nosso aplicativo em seu site e entre seus contatos.

Agradeço por toda ajuda.

Luis Fernando Kalfels
iPro Tecnologia Ltda.

Até na imprensa local saiu, veja

É bastante motivador, você receber e-mails de seus ex-alunos e saber que eles estão brilhando lá fora e colocando em prática o que foi ensinado.

Quando a tecnologia, associada ao comprometimento de ajudar meus alunos a sonhar mais alto e conquistar seu espaço, nada é mais gratificante que isso.

Parabéns Luis e Gorge, continuem brilhando. São os votos positivo da RIACycle e meus.

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.

Apache Flex/ Flex

Novidades sobre o Apache Flex

apache_flex

Algumas mudanças tímidas porém de grande impacto ocorreram na o projeto Apache Flex, segue uma lista delas.

Mudanças de 01 de Janeiro a 30 de Janeiro de 2012.

* Já temos uma logo oficial como mostrar acima a logo escolhida para o novo projeto e a nova cara do framework que será publicado sob o dominio da fundação Apache.
* O código fonte do SDK já está quase pronto para ser migrado para o SVN do projeto Apache. A demora é em relação a conteúdo protegido por direitos autorais, o que acarreta em um grande volume de mudanças a serem realizadas.

* Nossa lista de mensagens já ultrapassa a marca de 3.5k e-mails trocados nesse período, mais e mais desenvolvedores estão vindo para o projeto.

* O novo compilador já estará junto ao SDK, ele vai compilar 2x ou 3x mais rápido que o compilador atual, e sua função de auto increment está incrível.

* Um blog já está montado e será um canal de comunicação dos PPMC para o pessoal que acompanha o projeto.

Teremos mais novidades no segundo trimestre desse ano, quando soltaremos algumas especificações novas e documentação já sob dominio da fundação Apache.

Apache Flex/ Flex

Flex SDK submetido para fundação Apache

Pelo andar da carruagem, o Flex em fim começa a andar com suas próprias pernas. E eu fico feliz com a notícia de que o SDK não vai morrer não mão de uma dúzia de pessoas que decidiram seguir apenas um caminho de seguir com a maré ao invés de continuar progredindo com seu próprio software.

Recentemente teve o Adobe Flex Summit, diferente de todos os summits que eu estive, nesse eu não consegui participar presencialmente. Mais pelo que eu fiquei sabendo foi muito bom a receptividade de quem foi.

Foram diversas notícias, a mais geral é que a Adobe ARREGOU para o HTML5, essa você já está sabendo pelo Twitter, Blogs post, Forum e/ou listas. Outra má idéia é sobre o fechamento do projeto Adobe Flash Catalyst, FELIZMENTE ela caiu a ficha que uma ferramenta feita para monetizar um SDK open-source ao extremo não deu certo; Agora eu fico imaginando, o que ela poderia ter feito com o $$ gasto para criar o Flash Catalyst, imagine a IDE que teriamos.

Falando em IDE o Flash Builder agora não tem mais interface gráfica, drag e drop dá adeus aos sobrinhos. Na minha opinião foi a melhor mudança para quem não tem saco algum de usar aquilo, agora para quem é iniciante é uma grande perca na IDE. Ao contrário do Google que quer melhorar mais ainda o Drag N Drop da IDE para criar Apps para Android, Adobe não foi gentil ou sábia em dar uma melhorada, ela simplesmente abandona.

Em fim, mudanças boas, eu até estava desmotivado, e continuo apenas com a Adobe, que jogou anos de investimentos de seus clientes pelo vento e apostou em uma tendência, Que a Adobe continue fazendo seu melhor, criar softwares para agências de propaganda, por que para enterprise ela perdeu o respeito total.

Um dos aspectos bem bacanas fora essa raiva estampada pela Adobe e sua maneira ingênua de só faturar com postscript, Ela vai fazer um excelente movimento em definitivamente doar o SDK para a fundação Apache.

Você ver isso como um grande problema?

Imagine comigo o Eclipse IDE só é hoje o que é, por que foi doado, entre outros produtos que existem por ai no mundo open-source. O diferencial se faz quando é doado o SDK e clientes o mantém, não é atoa que o Eclipse tem mais de 120 mil plug-ins para ele.

Qual próximo passo? Daqui para o dia 23 deste ano, a fundação apache vai analisar e verificar a proposta da Adobe para incubar o projeto, se ele for aceito, Aleluia! Se não for? Bom só a Adobe pode se pronunciar.

Depois que for aceito, existe um time seleto de pessoas que irão iniciar o processo de analisar e comitar código de colaboradores, você pode ser um colaborador do SDK e enviar patchs, correções.

Dentre os primeiros committers, eu estou entre eles, e farei o melhor para ajudar o SDK e a uma tecnologia que eu vejo que está muito além da realidade atual em termos de qualidade e mantenabilidade.

Flex/ Notícias/ Pessoal

Onde está o futuro do Flex?

Wow! Que semana foi aquela heim?! Muito se foi dito, muito ainda estará por ser. E eu faço a pergunta, onde você quer estar?

No apagar das luzes da última semana na sexta-feira, o time de desenvolvimento do Flex SDK, fez uma declaração um tanto assustadora para todos aqueles que gostam de ficar sempre na zona de conforto. E logo em seguinda (Ontem), fez uma atualização esclarecendo melhor o que fora escrito, acalmando mais os ânimos daqueles que estavam assustados.

Curiosamente, nada disso me colocou em cheque! Ou amarelado pelo fato das declarações feitas por parte do time do Flex ou Adobe. É ai onde eu explico minha história com o Flex.

Onde?
Tudo começou em Outubro de 2003, quando nos pre-releases da Macromedia existia um produto chamado Royale(Flex SDK) e Brady(Flex Builder). Nessa época eu já criava hotsites com o Flash e tinha feito 2 jogos muito utilizado no Flash Lite para dispositivos Nokia.
Eu estava em minha zona de conforto quando apareceu o Flex e a proposta que me chamou mais atenção, naquele produto em teste foi o gráfico comparativo do Apps 1998 client/server, HTML/js e Rich Internet Applications.

Eu já tinha feito apps no Flash MX, e foi nessa época que começou o termo RIA, só que existia um grande problema, o fato de não dá suporte totalmente a uma linguagem mais poderosa, deixava esse termo enfraquecido, já que surgia no mercado outros compiladores mais robustos para Actionscript 2.0 o Motion Tween e um outro chamado SWFMill. Ambos até hoje existem.

Foi ai que surgiu o Flex, a grande proposta dele era criar Apps usando sintaxe MXML e o recém lançado Actionscript 3.0. Nossa! Que mudança eu pensei, saímos da água suja do esgoto para os melhores frascos de perfumes da França.

Então, decididamente eu larguei tudo que eu fazia em Flash, era meu porto seguro e cair de cabeça no Flex, foi assim que surgiu a 3 lista sobre Flex no mundo a Flex-Brasil. Ainda hoje é a 2th maior. Eu finalizei minha frase de boas vindas com a mensagem

“E Deus disse, vão e se ploriferem” <-- vamos fazer isso

Como eu era um poeta e apaixonado heim! E não é que foi justamente isso que aconteceu? Foi dai que surgiu a comunidade Flex no Brasil, foi dai que saíram grandes profissionais e foi dai que muitas empresas tomaram por base para adotar o Flex como tecnologia.

Esse foi o Onde.

Quem?

Quem realmente cresceu a comunidade? Todos, uma comunidade precisa de apenas uma idéia e alguém que a defenda, se você tiver isso, você consegue constrúir uma comunidade, foi e é hoje uma grande comunidade, não feita por mim, mais feita de uma ídeia, quantas pessoas hoje não vivem de Flex por que começaram ali?
De lá para cá, eu consegui ser sortudo o bastante para treinar aproximadamente 3 mil pessoas, ter viajado por todo o Brasil menos no estado do MT, preciso conhecer esse lugar, tudo através da tecnologia Flex. Tem horas que eu me pergunto, valeu a pena? Até hoje vale a pena, quantas dessas 3 mil pessoas não treinaram outras ? e essas outras, outras também?

Uma comunidade é baseada em 3 pilares, Auto sustentável, colaborativa e continuidade.

Auto sustentável, é que gere receita para quem escolhe a tecnologia adotada.
Colaborativa, que os membros da comunidade se ajudem.
Continuidade, é que as pessoas acreditem na idéia que comparam, querendo ou não são idéias que movem o mundo.

Fantástico todos esses últimos anos, sem falar a quantidade de pessoas que eu conheci, fui e sou muito feliz por isso. Em cada canto desse país eu tenho um amigo, eu acredito que sou milhonário por isso. Tudo isso proporcionado por uma idéia lançada a 7 anos atrás.

Eu sou referência no Flex? Não, eu sou referência em amar o que faz.

Nunca fui apegado a tecnologia, eu fui sempre apegado a idéias, amo minha esposa, a família, meus amigos e até meus inimigos. Eu sou bastante apegado ao que eu faço, eu amo todos os dias acordar e tentar resolver problemas, geralmente dos outros.

Tive sorte o bastante de achar aquilo que eu gosto de fazer logo cedo. E minha mãe achando que eu me tornaria um cardiologista, nada a ver né? Hoje sento todo dia, ligo minha parafernalha tecnologia, faço algumas ligações diariamente e continuo ganhando o dia.

Tem dias que é um saco, mais ao final dele você sabe que fez algo de melhor, colaborou para um mundo menos complexo. Organizou mais as coisas e aos poucos você vai matando o papel e tudo que é tocavelmente simples.(A moda antiga).

Esse foi o Quem.

Quando?

Toda a minha empolgação com uma tecnologia Flex, veio acabando naturalmente a medida que tecnologias emergentes vem à tona. De 1 ano para cá, eu sempre venho estudando aquilo que me deixa confortável, que tenha um mesmo nível de raciocínio que o Flex possui.

Flex veio em uma boa época onde navegadores eram lentos, existiam apenas 3 players grandes no mercado ( M$ IE e Mozilla Firefox, Safari). Somente quando o Google entrou no campo de navegadores com o chrome eu percebi que muita coisa boa ia acontecer aos padrões Web. O que de fato aconteceu nos últimos 2 anos.
Novas engines, novos frameworks Javascript, padronização ironizada do HTML5. E de fato um novo mercado tinha surgido, meio que tímido, mais com uma tecnologia não tão compreendida.

Foi quando a Apple, entrou na briga e falou que o Flash era da era dos PCs, foi onde começou toda a murmurização do assunto.

Defensores dos padrões, cairam matando uma tecnologia que mal eles sabiam era a mesma utilizada nos caixas eletronicos do Itaú, Unibanco. Mal sabiam eles que as companhias aéreas faziam uso deles, mal eles sabiam que os primeiros infográficos no mundo eram feitos em Flash.

O grande problema do Flash Player foi ter como mãe a Adobe, ela nunca foi boa em manter um nível competitivo da tecnologia, suas IDEs então nem se fala, ela é boa em efeitos visuais, ferramentas para designers. Desde então ela deu mais ouvidos à concorrência do que sua própria capacidade de ser criativa.

Foi ai que aos poucos ela mesmo foi matando a tecnologia, por que a idéia de um Player para todas os navegadores foi enfraquecendo, a idéia de uma tecnologia robusta para criação de melhores UX e UI foi morrendo, muita gente desacreditando e isso foi tornando cada vez mais relevante para mim a frase.
Está na hora de mudar.

Mudar para onde?Por quê? Eu me fiz essa pergunta centenas de vezes, fiquei por 1 ano e meio sem rumo, comecei a trabalhar com outras coisas não ligadas a tecnologia, pensei até em abandonar de vez, sabe aquela sensação de vazio que fica? Seria excesso de informação? Decidi que era hora de parar. E parei por longos 6 meses, não escrevi uma linhazinha se quer de código. Estava farto, afinal o fiasco do lançamento do Flex 4x me deixou furioso, a Adobe estava tentando colocar o SDK amarrado a suas soluções de suíte CS e esquecendo de ficar competitiva.

O mesmo compilador usado por 6 anos e nenhuma mudança drástica, foi quando em Março desse ano eu decidi que era meu último treinamento pessoal em Floripa, nunca mais eu treinaria alguém pessoalmente ou viajaria por causa do Flex.

De lá para cá eu dei atenção as tecnologias emergentes, HTML5, CSS3, Javascript,JQuery para criação de interfaces, algo que me completasse como desenvolvedor, o que o Flex já não fazia mais. Estudei muita coisa e criei muita coisa na RIACycle com essas tecnologias, até compartilhei algumas semelhanças.

Só que ai, vi que realmente não importava qual tecnologia usar, já que o próprio Flex gerava um HTML, JS,CSS para embarcar meu SWF gerado. Já que meu cliente não dava e nunca deu a mínima para qual tecnologia eu usei para criar, ele quis e sempre vai querer o produto funcional, bonito e com uma boa experiência.

É onde caiu a ficha. Tecnologia é o produto do meio e não o produto final. Você é um modelo de tecnologia ou faz dela um modelo de negócio?

É onde entra o Futuro.

A Adobe decidiu que era melhor fazer a doação do SDK para a fundação Apache(ASF), lá o SDK terá melhor visibilidade não só na fundação, mais na comunidade, outras empresas tornaram a tecnologia melhor e mais competitiva do que nunca, lá a colaboratividade será mais rápida, as respostas vão funcionar melhor.

Por que a Apache e não a fundação Spoon? Eu não acredito na fundação Spoon por 3 motivos.

1 – É baseada em 4 pessoas. Se todos estiverem no mesmo carro e por desgraça do destino sofrerem um acidente, já era o projeto.
2 – Os 4 caras são excepcionais, criadores do Robotlegs, Swiz framework, mas uma coisa é manter um framework, outra coisa é manter um SDK inteirinho.
3 – Flex SDK é baseado na tecnologia Java, quem domina o Java tirando a Oracle? Quem tem um modelo de negócio sustentável pela tecnologia Java e que o mundo inteiro usa?

O expersite da Fundação Apache é bem melhor, por que tem mais pessoas colaborando, a visibilidade do projeto será sem dúvida, notórida, já que mais e mais desenvolvedores vão colaborar com o SDK.

E quando eu me refiro ao SDK, eu me refiro aos compiladores, aos testes automatizados, a possibilidade de usar o MXML e AS3 no lado servidor, a possibilidade de compilar para JS/HTML, coisa que já está em fase de testes pela Adobe com o novo compilador Falcon.

O Fato é, Flex tem ou não tem futuro? TEM FUTURO, e seu futuro será brilhante, desde que o Flex 3.0 entrou como produto Open-source, ele foi muito mais adotado por grandes empresas, por que temos 2 fatores, 1 depender apenas de uma corporação para cria-lo e outra é depender apenas da comunidade.

Tem que ter 2 pilares fundamentais para que uma tecnologia se sustente, seja ela Flex ou outra qualquer, é a forma híbrida da coisa, tanto uma organização séria e respeitada e uma comunidade inteira que acredita em um ideal sobre um produto.

Não é atoa que até hoje o Windows XP é utilizado em grande escala, mesmo a Microsoft afirmando que parou de dar suporte.

O Flex é o produto do meio, ele terá sempre um espaço e seu espaço tende a crescer mais ainda com seus concorrentes, ele continua sendo inovador, criando Apps móveis, criando Apps desktop e criando Web Apps.

O que você como desenvolvedor não pode ficar esperando é que tudo venha pronto, nada vem de graça, tem que tomar na marra, na garra, você tem que colaborar, tem que incentivar, tem que acreditar naquilo que você faz. Seja você empregado ou empregador.

A tecnologia Flex tem sído uma grande ferramenta que não depende apenas do Flash Player, ela depende da boa vontade de quem a faz.

Se seus gerentes lê matérias sensacionalistas e tomam decisões baseadas nelas, cabe a você acreditar naquilo que você faz, e não em mera expeculações, ele provavelmente tomará decisões que pode afetar sua vida pessoal e profissional.

Continuem apostando em tecnologias emergentes, continuem vivos e alívidos com o Flex SDK e BlazeDS nas mãos da fundação Apache, continue apaixonados elo que vocês adoram fazer, Softwares.

Não percam a empolgação, não se deixem descabídos por decisões mal feitas pela Adobe, ou pronunciamentos mal elaborados. Continuem amando o que faz, tecnologias emergentes são excepcionais oportunidades de novos negócios, de novos modelos de negócios de novas fronteiras para você.

Seja criativo, nunca deixe de elaborar novas idéias, de acreditar naquilo que você ama, quando você aprender e começar a se conhecer, você vai ver que tudo é do ponto de vista de alguém, e que nem sempre esse alguém tem razão.

Que venha o futuro do Flex, da Web, das tecnologias emergentes, eu estarei sempre de braços abertos e fazendo o que eu sei de melhor, Desenvolver, ensinar e compartilhar.

Por que eu ainda tenho muito a colaborar.