Apache Flex/ Flex/ Notícias/ Open-source

Apache Flex é uma tecnologia de interfaces que vai continuar revolucionando pelos próximos 10 anos

apache_flex_logo

Trabalhar em um grande projeto open-source é um desafio grande, em especial com o projeto Apache Flex que segue um forte legado de satisfação para quem desenvolve assim também para quem tem a solução criada por ele.

Faz aproximadamente 14 meses, desde que o projeto foi doado para fundação Apache e contribuições não param de chegar, só para você ter uma idéia é uma média de 140 emails recebidos por hora na lista de desenvolvedores, discutindo sobre vários aspectos o que a tecnologia ofereceu e o que ela está para oferecer.

Flex foi, é e provavelmente continuará sendo a melhor tecnologia de interfaces que o desenvolvedor já conheceu, sem tirar nenhuma palavra dessa sentença, o único erro da tecnologia foi ficar presa no tempo e na caixinha de areia do Flash Player.
Nesse artigo, eu quero apresentar para você, desenvolvedor Flex que vem acompanhando esse blog desde 2004 o que torna hoje o projeto Apache Flex um futuro tecnológico brilhante além de seu tempo. Eu já previa isso aqui.
Adobe Flex e seu passado

O Flex veio em um período que linguagens de interface eram o elo fraco de uma aplicação desktop ou web, e ele supriu essa necessidade, inspirando várias outras tecnologias de sua época, devido sua facilidade de criação e alto acabamento no resultado.

Se antes você escrevia em MXML/Actionscript e o produto final era um SWF que rodava em uma engine chamada Flash Player,  então competentemente ficávamos em nossa zona de convorto, sem esperar que alguma outra tecnologia pudesse fazer alarde e ultrapassar.

O Flash Player para ser popular precisa do navegador e o navegador para ser completo precisa ter suporte ao Flash Player, Isso era legal de se falar até 2008, só que antes disso, quem lembra do Shock wave, do real Player ? Todos estavam fadados ao desuso por que chegaram em uma zona de conforto que não viram que poderiam ficar para trás ao longo dos anos.

A era do Flash Player

É ai onde entra o fracasso atual do Flash Player em relação a esse aspecto.

Até hoje o Flash Player é odiado, melhor! É onde o flash player perde em popularidade, já que quando não se segue um padrão dos navegadores, que são a janela para a internet, a coisa começa a ficar estranha. Mais da metade de quem usa a internet no mundo dá a mínima para o player ou até desconhece seu uso, embora até 2009 seu uso estava presente em 98% dos navegadores.

De longe o Flash Player foi e foi até os dias de hoje o plugin mais famoso de todos os tempos, porém com seu sucesso, veio sua desgraça, uma vez que os navegadores viram que ele estava ofuscando seus brilhos, o que resultou em um ato colaborativo de vários CEOs do mundo em colocar de vez um ponto final no Flash Player

Quando Steve Jobs escreveu seus pensamentos sobre o Flash Player, foi a gota d’àgua de “se toca” para a Adobe atualizar e manter o Flash Player um estado de arte, só que ao invés disso o fracasso do CEO da empresa, respondeu apenas com alguns argumentos que não fizeram tanto alarde. Afinal a grande voz de Steve ecoou por toda a internet e tudo que era movimento relacionado ao padrão “Não open” saiu por dentro à fora e virou moda.
Infelizmente a tecnologia Flex estava atrelada apenas o Flash Player, o que acabou desmotivando a Adobe a encerrar a linha do Flash Player para dispositivos móveis para o Android, tanto é que hoje não existe mais oficialmente na Play Store, apenas a Blackberry com seu tablet “Playbook”, possuem ainda o Flash Player instalado.
Quando se perde o seu principal playground, você se desespera e desiste de uma tecnologia fantástica para o futuro de aplicações. Essa história é a mesma para várias outras empresas que ficaram presas em seu ambiente fechado e controlado e que acabou não entendendo que a internet anda a passos largos e de dificil controle.
Adobe Flex open-source

Foi ai que o Flex teve um final na história de participações da Adobe, sendo graciosamente doado para fundação Apache. Antes disso ela abriu o projeto, sendo open-source por vários anos, só que ninguém se interessava pelo projeto open-source, já que tudo era controlado pela Adobe, um envio de um simples bug para conserto, demorava vários e vários meses para ser solucionado. Algo precisava mudar.

No final de 2011 no apagar das luzes, A Adobe viu que não poderia deixar o produto morrer e doou para a fundação Apache, sábia decisão dela, afinal são mais de 1 milhão de desenvolvedores que usavam o Flex como principal tecnologia de front-end.

 

Nasce o Apache Flex

Ao contrário do que muitos achavam, o Apache Flex está vivo e muito ativo, com a recente doação final do Falcon e FalconJS o projeto começa a modificiar suas entranhas para não ficar dependente apenas do Flash Player, que esse pode ter seus (anos) contados.

Começamos incubados e já com várias releases, todas até hoje foram correções de bugs existentes e remoção de software proprietário que fazia parte do SDK, já que o projeto é sob licença apache, não se pode ter código de terceiro que seja necessário o pagamento para utiliza-lo.
Além de ser ativo, o projeto conta hoje com um time multi-disciplinar de diferentes partes do mundo, apenas um Brasileiro está no time, que é esse que escreve, porém você também pode fazer parte do time, basta colaborar ativamente para alguém te chamar e fazer parte da lista de committers, onde você pode submeter seus próprios patchs para correções e colaborações.

A última release 4.9 acompanhamos a atualização para o Java 7, assim o SDK continua progredindo junto com vários outros softwares open-source que o ajudam.

Futuros lançamentos

Hoje, estamos trabalhando no novo compilador, o FalconJS, é bem igual ao Falcon, que está em beta no Labs da Adobe, é o chamado comercialmente de “Actionscript compiler 2.0”.

A diferença é que com o FalconJS, você poderá escrever Actionscript/MXML e gerar Apps totalmente abertas ao HTML5/CSS3/Javascript, sem ficar mais dependente do Flash Player.

Queremos incluir esse novo compilador nas próximas releases da 5.x em diante. É um trabalho árduo, já que todo o compilador trabalha em um modo de dependência de objetos do Flash Player, o que é diferente do lado HTML que depende do Javascript e embora o Actionscript compartilhe da especificação ECMAScript, ambos possuem suas particularidades.

O que querendo ou não o Actionscript ainda é mais avançado que o Javascript, em especial para tipação, construtores de classes, etc.

Existe muito a se fazer, porém uma grande barreira foi quebrada, e até eu mesmo além de outros da equipe estávamos com pouca crença que o projeto saísse da mesmice de consertos, remendos e virassem um projeto base na fundação ao invés de ser apenas um protagonista incubado.

Qual o prazo para essas novas funções

Diferente de projetos que depende  de ações para serem valorizadas, o clico de release é mais lenta, as decisões são melhores tomadas, mas até o final de 2013 teremos um projeto sólido que pode ajudar muito desenvolvedor a migrar ou aperfeiçoar seus atuais projetos Flex.

Atualmente já temos em aplicações simples, escritas em Actionscript a saída em puro Javascript, em apenas 1 mês de testes, o que remete a um tempo bastante hábil para um projeto open-source sair do papel/idéia e virar realidade.

Muito do que foi aprendido e testado no FalconJS, veio do Jangaroo, é bom aprender com quem já está à um tempo no mercado. E boa parte das contribuições estão vindo do pessoal também do Jangaroo.

Apache Flex é um projeto cativante que vai continuar sendo utilizado e melhorado para os próximos 10 anos ou mais, desde que ele nunca mais cometa o crime de ficar atrelado apenas o Flash Player ou ao Adobe AIR, ele será multi-plural, você vai escrever e ficar dependente em Actionscript /MXML que continuaram sendo suas linguagens oficiais, só que ao invés disso o produto final passará a ser executado em várias plataformas, Desktop/Web/Mobile/Gadgets/etc. que aparecerem ao longo do tempo.

 

22 thoughts on “Apache Flex é uma tecnologia de interfaces que vai continuar revolucionando pelos próximos 10 anos

  1. Oi Igor,

    muito bom este seu post. Interessante: não sabia que o Flex agora gera saída em HTML/Javascript. Excelente notícia!

    Ele se mostra assim muito próximo do GWT. Como, na sua opinião, o Flex se compara ao GWT?

    • Oi Henrique

      A grande diferença do Flex contra o GWT é a questão do uso. O flex ainda é protagonista no mundo HTML, coisa que o GWT fixou-se a um bom tempo atrás.
      Ele é um grande exemplo de inspiração para o FalconJS.

      Alguns pontos importantes e diferentes é que o FalconJS caminha para uma direção de dar suporte à todos os componentes do Flex, rápida rendenização da UI.

      Porém assim como o GWT, o FalconJS terá pitfalls, como toda e outra qualquer tecnologia.

      Resumindo, ambos andam em estradas diferentes que levam à um só destino.

  2. Excelente Igor!
    Estarei acompanhando e torcendo para que tudo ande conforme o esperado!

    Abraços!

  3. Meu amigo e companheiro de COD como vai, estamos sentindo sua falta, mais estou aqui como admirador do grande programador que você e minha pergunta é uma só.

    Como recomeçar ou para quem chegou agora como começar ???

    Um abraço.

    • Opa Willian,

      Realmente as vezes estou ausente na live devido ao trabalho, sempre que posso estou presente e ai não nos encontramos.

      Willian, o começo sempre é difícil, não existe uma resposta só para essa sua pergunta, existem várias. Dentre todas elas
      o primeiro passo é manter o foco, seja focado no que você quer alcançar. O resto é consequência de sua dedicação.

      Essa é a resposta mais certeira que posso de dar para quem quer começar.

  4. Igor, vamos continuar escrevendo em action script e xml e compilar para html/js e css com o Falcon compiler é isso?

    E quanto a IDE? Essas novas versões do Apache Flex poderão continuar usando o Flash Builder como IDE? (afinal, é uma IDE excelente).

    • Continuamos a escrever em Actionscript e MXML usando o Flash Builder, IntelliJ ou FDT. Todas as IDEs dão suporte ao Apache Flex SDK.

  5. Quero Contribuir…… Com o Projeto Apache Flex… uso no meu dia a dia e quero ajudar… qual a melhor maneira o que devo fazer …?

  6. Enviando tudo para o HTML5 com o FalconJS como ficará a comunicação com o back-end? Investir na comunicação direta com o formato da adobe ou esquecer isso e utilizar apenas web-service?

  7. Parabéns! Um dos poucos tópicos produtivos sobre o assunto que se encontra pela web.

    Na empresa onde trabalho, estamos usando Flex (e o projeto está em andamento) não porque é “bonitinho e tal”, mas simplesmente porque “podemos fazer aquilo que queremos e não o que dá para ser feito”

    Parabéns!

  8. Muito bom o artigo..!
    Nós que utilizamos o flex ficamos muito empolgados ao saber que o projeto não está em uma gaveta, mas está sendo muito bem cuidado.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios são marcados com *