A primeira experiência em Flex o programador Java nunca esquece

Olá, meu nome é Filipe e vou falar sobre minha experiência de transição para a plataforma Flex utilizando remoting com Java.

Sou desenvolvedor há quatro anos, trabalhando principalmente com Java para web, mas também com sólida experiência com desenvolvimento de aplicativos desktop.

Após estudar algumas apostilas de Flex resolvi criar uma pequena aplicação Todo. A aplicação possui apenas 4 telas:

loginlista de tasksalterar a senhacontrole de usuários

Achei o desenvolvimento com o Flex bastante natural, dada minha experiência com Swing, XUL e Laszlo. Do Swing aproveitei a forma como se trata e trafega dados entre o servidor e o cliente – nada de HTTP e Strings para lá e para cá. Portanto já estava acostumado a esta forma de pensar soluções.
Do XUL e Laszlo aproveitei a forma como a interface é declarada com databinding e datasources – consideravelmente diferente de HTML. Portanto também já estava acostumado a resolver problemas com estas ferramentas.

O desenvolvimento de interfaces com Flex brilhou para mim com as features de transições, efeitos e, principalmente, estados. São ferramentas que não vi aplicadas desta forma transparente em nenhuma outra tecnologia, e realmente facilitam o desenvolvimento de uma aplicação mais suave, bem como melhoram em muito a experiência do usuário final. O esforço para criar uma aplicação bonita e leve é centenas de vezes menor utilizando Flex do que utilizando Swing/SWT/Thinlet ou HTML + Milhares de Linhas de Javascript.

Uma conclusão interessante é que o MXML junta o melhor dos mundos web e desktop. Da parte web a tecnologia provê a facilidade de distribuição do software e de programar as interfaces utilizando uma linguagem de marcação, que é muito mais simples que código Java.
Da parte desktop a tecnologia herda a adequação, riqueza e customização – é uma linguagem feita para produzir interfaces de aplicações, não são necessárias “gambiarras”, muito menos código de compatibilidade, pois o runtime é sempre o mesmo. Como disse Bruce Eckel em seu mais recente artigo, The Web Is A Mess. E o Flex existe para resolver este problema.

A parte de remoting é extremamente simples e transparente. Há uma enorme diferença entre o desenvolvimento com RPC e HTTP puro. Não ter que lidar com as incompatibilidades entre os browsers ou centenas de linhas de código Java promove um desenvolvimento mais voltado para a aplicação em si.
Me senti um pouco desconfortável sendo obrigado a declarar getters e setters públicos nos VOs em Java, mas sendo que estes objetos servem apenas como “comidinha de rede” e não participam dos objetos de domínio da aplicação, não é um problema ter que quebrar o encapsulamento deles.

ActionScript 3.0 é uma linguagem poderosa e, pela pouca experiência que tive, percebi que faz o trabalho de qualquer outra linguagem de programação de quarta geração. Contudo, senti falta de sobrecarga de métodos.

A título de aprendizado, resolvi não utilizar o Cairngorm para entender melhor os problemas que este framework resolve. Apesar da aplicação ser minúscula, me encontrei gastando tempo procurando qual tela possuía os métodos chamados por outra e também dificuldades para padronizar as chamadas remotas. Conclusão óbvia: é necessário um padrão de desenvolvimento que promova, entre outras coisas, a separação das soluções para os problemas comuns.

Em conclusão, a transição para o Flex foi suave, rápida, simples e interessante – como a plataforma. Recomendo que qualquer desenvolvedor Java, independente da experiência passada, dê uma chance à plataforma e pare de ganhar cabelos brancos tentando fazer seu HTML funcionar em todos os browsers ou fazer uma interface em Swing que não faça o usuário torcer o nariz.


21 comentários

  1. Márcio em 5.jun.07 às 5:37 pm

    Parabens Filipe! Você pretende disponilibilzar os fontes deste pequeno projeto para quem está aprendendo? Comecei a ler sobre Flex e não tenho encontrado muito material. Um bom projeto inicial como o seu é sempre interessante. Um abraço,

  2. Clayton Antunes em 12.jun.07 às 12:27 pm

    Bom dia Filipe…
    Estou começando a utilizar o Flex Builder 2 agora, porém preciso de uma apostila boa para começar os primeiros passos, se for possivel, me envie uma apostila para eu começar a estudar…
    Grato pela atenção
    Clayton

  3. Fabio em 4.jul.07 às 10:35 pm

    Amigo estava lendo aqui o seu blog sera que vc poderia me mandar uma apostila de FLEX.. estou começando a fazer um curso de web e queria me aprofundar mais sobre o FLEX…

    Conto com sua ajuda

    Abraços e fique com Deus

  4. Evandro em 17.jul.07 às 3:51 pm

    Boa tarde Filipe

    Seria possível me enviar algum material sobre flex 2 ou indicar algum site onde possa encontrar uma apostila ou tutorial.

    Outra coisa pelo que entendi o flex somente será utilizado pra criar as interfaces, sendo que o modelo e o controle ainda fica a cargo do java. É isso mesmo ? Como ficaria a utilizacao do adobe flex 2 dentro da especificacao J2EE ?

    Grato por hora

  5. Ednard Marques em 12.set.07 às 9:00 pm

    Programo a quase 25 anos, e estou sempre procurando novas idéias e tecnologia, gostaria de manter contato para saber mais sobre o Flex inclusive que vc me indicasse uma boa literartura.

  6. willian em 14.set.07 às 4:05 pm

    alguem poderia me mandar uma apostila do flex

    grato..

  7. Paulo Maciel em 16.out.07 às 2:11 pm

    Olá Filipe!
    Estou procurando me aprofundar em Flex, porém, nâo tenho encontrado quase nada de material na WEB. POr gentileza, você poderia me mandar/disponibilizar algum material sobre Flex?
    Obrigado
    Paulo

  8. Cleberson em 30.out.07 às 12:09 pm

    Felipe, Estou iniciando em Flex por conta, mas não encontrei apostilas em portugues…
    vc possui aguma que possa me enviar???? ou conhece algum site que possua isso???
    OBS: Programo em JAVA para Desktop

  9. Mauricio Fernando em 19.nov.07 às 4:31 pm

    Ola, tudo bem?
    Estou começando em Flex tambêm e gostaria de receber alguma apostila se possivel.

    Grato.
    Mauricio

  10. Thiago da Rocha e Silva em 6.dez.07 às 8:48 am

    Ola!!
    Estou começando em Flex tambêm e gostaria de receber alguma apostila se possivel.

    Thiago

  11. Michell Platinny em 8.jan.08 às 4:40 pm

    Olá!
    Estou começando agora a trabalhar com essa maravilhosa ferramenta que é o FLEX, so que sempre surge aquelas dúvidas… Será que você não teria alguma apostila de FLEX se possível em português… quero me aprofundar mais pois sei que nao estou aproveitando nem metade do que posso fazer com o FLEX!!!

    Conto com sua ajuda

    Desde já lhe agradeço muito!

    vlw

  12. Mari em 14.jan.08 às 2:41 pm

    Olá Felipe, estou começando também com Flex, gostaria que vc me mandasse algum material. Qualquer coisa será bem vinda. Seu artigo e muito bom.
    Abraços

  13. Ezaul Moreira em 7.mai.08 às 12:46 pm

    Boa tarde Felipe!
    Achei suas considerações a respeito da tecnologia muito válidas e fiquei muito interessado na tecnologia.
    Você tem alguma apostila ou sites que possam me auxiliar no inicio de meus estudos?

    Agradeço desde já!

  14. leo em 17.jun.08 às 11:42 am

    Felipe,

    Muito interessante a sua aplicação de testes, teria como enviar os fontes?

    Obrigado.

  15. Odair em 14.ago.08 às 6:06 pm

    entao Felipe tmb to muito intereçado em flex, ser for possivel me envia esse teu progetinho pra eu ter um parametro.
    obrigado.

  16. Elton Antunes em 23.ago.08 às 11:20 am

    Ola estou começando neste mundo do flex e não conheço muito vc tem algum material ou apostila para uma orientação básica? por favor me envie…. eltonantunes@hotmail.com

    att
    Elton

  17. Marcos André em 25.ago.08 às 8:38 am

    Buenas tche, desenvolve em delphi a muitos anos e gostaria de começar a fazer uma transição dos meus sistemas feitos em delphi para flex. Na verdade, eu gostaria de entender um pouco desta forma de trabalhar, pois fiz um pequeno curso de ruby on rails e gostei, vi uma forma rápida de se programar, mas gostaria de deixar os meus software com uma cara mais para o lado da web2.0 e flex me representou isto. Gracias se puder me mandar alguma informação que me ajudasse.

  18. JOAO em 2.set.08 às 2:05 am

    Estou procurando programador para firmar parceria em um programa
    nao sou programador mais sei muito bem como funcina poi ja usei muito
    ganhos acima de 2 mil por semana (8 mil mes)…
    obs: E coisa ilegal, entao me procure somente se realmente estiver enteressado

    me mande seu msn neste e-mail: melantana@gmail.com

  19. Wagner Drachinski em 16.set.08 às 2:26 pm

    Boa tarde Filipe, também estou no começo de aprender o FLEX, gostaria de saber qual a possibilidade de mandar alguma apostila de flex, ou dizer onde é mais fácil de acha-las, qualquer informação sobre o assunto ajuda.

    Muito Obrigado pela atenção,

    Abraço,

    Wagner Drachinski

  20. DAnielle em 17.dez.09 às 12:31 pm

    boa tarde
    estou precisando de uma apostila para começar a trabalhar com flex
    que Deus te abençoe

  21. Letícia em 27.out.10 às 8:54 am

    Olá,
    Sou recrutadora de uma multinacional na área de consultoria e gostaria de saber se posso divulgar minhas vagas através deste site.

    Grata

Deixe Seu Comentário