Adobe Flex vs JavaFX

Pessoal, sou desenvolvedor web trabalhando atualmente com as tecnologias: JSF, Hibernate e Facelets

Ultimamente tenho escutado muito sobre Flex, flex isso, flex aquilo, enfim.

Pelo que conversei com alguns colegas, Flex parece ser uma ferramenta muito boa, porem complexa para a integração com java.

Bom, comecei a olhar alguns códigos de aplicações JavaFX e achei bem parecido com java/ javascript.

Tenho algumas questões:

Em relação ao seguintes aspectos, levando-se em conta que meu objetivo (e da empresa onde trabalho) é ter aplicações que possam ser executadas em qualquer máquina independente de SO e Browser, ou seja, aplicações web, o que podem me dizer?

  1. Integração com Java
  2. Independência de plataforma e navegadores (Portabilidade entre browsers principalmente!)
  3. Facilidade de uso e aprendizado da linguagem de script (ActionScript 3 / JavaFx Script)
  4. Reuso de código
  5. Desempenho (velocidade na execução das aplicações)
  6. Produtividade
  7. Licensa de utilização da tecnologia e ferramentas de desenvolvimento
  8. Ferramentas para desenvolvimento, quais as melhores?
  9. Futuro (que tecnologia tem mais perspectiva de crescimento)

Bom,. eu sei que é um tópico grande, mas devido a neste fórum ter inúmeros usuários com experiencias diferentes, creio que as respostas serão satisfatórias, portanto, opinem, e obrigado!

[quote=pirado18]Pessoal, sou desenvolvedor web trabalhando atualmente com as tecnologias: JSF, Hibernate e Facelets

Ultimamente tenho escutado muito sobre Flex, flex isso, flex aquilo, enfim.

Pelo que conversei com alguns colegas, Flex parece ser uma ferramenta muito boa, porem complexa para a integração com java.

Bom, comecei a olhar alguns códigos de aplicações JavaFX e achei bem parecido com java/ javascript.

Tenho algumas questões:

Em relação ao seguintes aspectos, levando-se em conta que meu objetivo (e da empresa onde trabalho) é ter aplicações que possam ser executadas em qualquer máquina independente de SO e Browser, ou seja, aplicações web, o que podem me dizer?

  1. Integração com Java
  2. Independência de plataforma e navegadores (Portabilidade entre browsers principalmente!)
  3. Facilidade de uso e aprendizado da linguagem de script (ActionScript 3 / JavaFx Script)
  4. Reuso de código
  5. Desempenho (velocidade na execução das aplicações)
  6. Produtividade
  7. Licensa de utilização da tecnologia e ferramentas de desenvolvimento
  8. Ferramentas para desenvolvimento, quais as melhores?
  9. Futuro (que tecnologia tem mais perspectiva de crescimento)

Bom,. eu sei que é um tópico grande, mas devido a neste fórum ter inúmeros usuários com experiencias diferentes, creio que as respostas serão satisfatórias, portanto, opinem, e obrigado!

[/quote]

Opa cara vou colocar a minha visão , estive em uma situação parecida a um tempo atras , não sei te falar muito de JavaFx ,mas do Flex ,a curva de aprendizado e muito curta , muito facil ,
a integração com java e barbada , desempenho por enquanto nas minhas aplicações não encontrei problemas , ferramentas para desenvolvimento usando o eclipse + o pluguin da propria adobe .
Produtividade foi a maior que encontrei , e muito bom mesmo , comparado com Jsf 10 X 0 ,so a parte de poder fazer o visual no drag and drop .Fora a interface 100% rica .
E mais existe muita documentação na internet .

Como te falei esta é a minha visão de Flex com java .

Primeiramente Obrigado pelas respostas!

Mas voce não citou nada a respeito do reuso.

Como voce se vira nesta parte?

Como reutiliza telas prontas?

O que eu quero dizer é, tem como evitar de fazer uma tela para cada CRUD de um sistema por exemplo? Ou seja, criar apenas uma tela e apenas sobrescrever os métodos dos botoes?

Uma nova dúvida:

Existe alguma maneira de se integrar Flex com Java, sem a necessidade de ter que se reescrever TODAS as classes Java em classes ActionScript?

A integração é fácil, mas isso é uma trabalheira fodida.

Eu fico me imaginando trabalhando nos projetos que trabalho hoje, mas com Flex, tem, projeto com classes que tem mais de 50 atributos. E nestes mesmos projetos tem mais de 200 classes! O que eu ainda acho pouco até!

Então, existe alguma maneira de fazer a ligação dos objetos em java diretamente sem precisar criar os ActionScript? Algum materia recomendado para leitura? Obrigado.

[quote=pirado18]Uma nova dúvida:

Existe alguma maneira de se integrar Flex com Java, sem a necessidade de ter que se reescrever TODAS as classes Java em classes ActionScript?

A integração é fácil, mas isso é uma trabalheira fodida.

Eu fico me imaginando trabalhando nos projetos que trabalho hoje, mas com Flex, tem, projeto com classes que tem mais de 50 atributos. E nestes mesmos projetos tem mais de 200 classes! O que eu ainda acho pouco até!

Então, existe alguma maneira de fazer a ligação dos objetos em java diretamente sem precisar criar os ActionScript? Algum materia recomendado para leitura? Obrigado.[/quote]

Além da alterantiva de usar AMF via BlazeDS ou GraniteDS ou Life CycleDS, você pode também utilizar HttpRequest (que vai funcionar como você trabalha com páginas Web convencionais) ou Web Services. A vinda do Java para o Flex sem implementar as classes, acredito que funcione normal. O problema é vc mandar do Flex p/ o Java.
Como falei, se não quiser trabalhar com RemoteObject, existem as duas alternativas que ja citei.

[]´s

David, obrigado pela resposta.

Eu comecei estudar a integração do flex com o seu tutorial, acredito que ele seja um dos melhores disponibilizados na web.

Qual seria a dificuldade de se trabalhar com HttpServeletRequest na integração Java + Flex? è muito mais dificil?

Voce teria algum material ou tutorial semelhante ao seu para me indicar?

Obrigado.

PS: Por último, eu procurava um tutorial para utilizar com Netbeans mesmo, minha intenção é utilizar Flex + Java + Netbeans + Glassfish tudo isso gerenciado com Maven. Voce acredita que seja possível? Minha preocupação neste caso é o desenvolvimento das telas, que no caso seria com eclipse e eu estaria utilizando a IDE Netbeans.

[quote=davidbuzatto][quote=pirado18]Uma nova dúvida:

Existe alguma maneira de se integrar Flex com Java, sem a necessidade de ter que se reescrever TODAS as classes Java em classes ActionScript?

A integração é fácil, mas isso é uma trabalheira fodida.

Eu fico me imaginando trabalhando nos projetos que trabalho hoje, mas com Flex, tem, projeto com classes que tem mais de 50 atributos. E nestes mesmos projetos tem mais de 200 classes! O que eu ainda acho pouco até!

Então, existe alguma maneira de fazer a ligação dos objetos em java diretamente sem precisar criar os ActionScript? Algum materia recomendado para leitura? Obrigado.[/quote]

Além da alterantiva de usar AMF via BlazeDS ou GraniteDS ou Life CycleDS, você pode também utilizar HttpRequest (que vai funcionar como você trabalha com páginas Web convencionais) ou Web Services. A vinda do Java para o Flex sem implementar as classes, acredito que funcione normal. O problema é vc mandar do Flex p/ o Java.
Como falei, se não quiser trabalhar com RemoteObject, existem as duas alternativas que ja citei.

[]´s[/quote]

Ué, não entendi o problema de mandar do Flex para o Java? Eu tive que fazer chamadas “normais” http do flex para o Google App Engine, para fazer upload de fotos e também na hora do login, e tudo funcionou numa boa. HttpRequest mais HtmlLoader. Dêem uma olhada no Revelação Virtual.

Agora eu acho que com certeza a vida ficaria mais difícil se vc não usar o amf mais remoteObject. Se for nesse sentido, com certeza a saída de chamadas http seriam um problema, já que é um saco ficar setando parâmetro http na mão.

Também não posso acrescentar nada na comparação com JavaFX. A única coisa que digo é que flex tem sido mais utilizado, ganhando muitos adeptos aqui no Brasil.

[]s

[quote=pirado18]David, obrigado pela resposta.

Eu comecei estudar a integração do flex com o seu tutorial, acredito que ele seja um dos melhores disponibilizados na web.

Qual seria a dificuldade de se trabalhar com HttpServeletRequest na integração Java + Flex? è muito mais dificil?

Voce teria algum material ou tutorial semelhante ao seu para me indicar?

Obrigado.

PS: Por último, eu procurava um tutorial para utilizar com Netbeans mesmo, minha intenção é utilizar Flex + Java + Netbeans + Glassfish tudo isso gerenciado com Maven. Voce acredita que seja possível? Minha preocupação neste caso é o desenvolvimento das telas, que no caso seria com eclipse e eu estaria utilizando a IDE Netbeans.[/quote]

Olá. Que bom que o tutorial foi útil. Então, eu optaria por trabalhar com AMF. Se não me engano, o Flash Builder tem um assistente para reconhecer as classes e já gerá-las, dê uma olhada dentro da ferramenta, quando vc dá um “New”. Quanto a material, existem uns livros muito legais. Vou te mandar uma MP.

[]´s

Para a geração de classes no Flex a partir das classe java, eu fiz uma aplicaçãozinha que faz um pouco do serviço automaticamente:http://www.nuccitec.com.br/microapps/j2as/
O código da mesma está no meu blog.

[]s