JSF ou JavaFX

Ola,

Tenho um novo projeto para iniciar ate jan/2010, e estou pesquisando algumas alternativas…

No site da Sun, o JSF2 é bem comentado como sendo o “futuro do desenvolvimento web”!
Contudo, no mesmo site, fala-se muito sobre JavaFX para desenvolver sistemas que
funcionem na web/swing/mobile/etc. Ou seja, “parece” ser melhor eu usar JavaFX e ja
ter o sistema preparado para multiplas plataformas do que usar o JSF que é “limitado”
para a web.

Minha ideia está correta? O JavaFX tende a substituir o JSF no futuro? Ou usar o JSF
por “baixo dos panos” quando precisar gerar uma interface web? O JavaFX é a melhor
opcao para investimento de sistemas no futuro?

Por que não Flex?

pq não Flex [2] ?

Sinceramente, eu nao acredito muito no JAVAFX, querendo ou não, a Adobe lançou muitos padrões em se tratando de tecnologia web, e voce poder criar facilmente uma aplicacao RIA sem precisar se preocupar em instalar nenhum plugin nem nada nos clientes, ja que a esmagadora maioria dos browsers ja tem flash player instalado, e uma coisa simplesmente fantastica !

Ja apanhei muito tentando achar uma interface legal para meus projetos web: JSF com Richfaces, IceFaces, JSP puro com bibliotecas JQuery + JQuery UI, e finalmente cheguei ao “eureca” quando resolvi experimentar o Flex3 - A minha produtividade foi la em cima, a satisfação dos meus clientes, praticamente dobrou, e as minhas dores de cabeça, desapareceram !

Java + Hibernate + BlazeDS + Flex —> Simples assim, eliminei frameworks MVC como Vraptor e Struts, e confesso que ainda nao tive nem coragem e nem entusiasmo para aprender Spring, mas esta tudo funcionando a mil maravilhas tanto na empresa que trabalho quanto em meus projetos pessoais

A questão é, por mais pretencioso que o JAVA FX seja…

Para aplicativos WEB, ter que precisar de um RUNTIME para executar, e pela demora em carregar simples aplicações,
me cheira um tanto quanto os antigos APPLETs.

Por mais que falem de FUTURO da Internet, e RIA, isso aquilo…
O HTML continua firme e forte como a melhor opção na hora de desenvolver para WEB.
SIMPLES, Rápido, pretencioso, customizável e extremamente fácil para desenvolver…

A quase 10 anos, quando o FLASH teve aquele “BUM” em desenvolvimento de WebSites… Se falavam que os sites HTML
iriam morrer, e que quem não usa-se estaria ultrapassado.

Hoje o que vejo é xHTML/CSS cada dia mais forte, com a utilização de bibliotecas javascript/ajax como JQuery, fazem verdadeiros
milagres, e criam websites e aplicações com uma usabilidade e compatibilidade extraordinários.

Por mais que o FLEX desponte como boa opção, para programadores, por ser produtivo e criar boas interfaces sem precisar entender de design,
o JSF, na minha opinião, é muito maduro, permite maior customização, usabilidade, compatibilidade, e tem uma vida longa pela frente…

Com JSF, Facelets, um pouquinho de CSS e uma biblioteca como RichFaces ou IceFaces você consegue criar aplicações RIA, de qualidade excelente.

Assim como outros frameworks web, como grails, seam, wicket, ruby on rails, etc…

[quote=Gbzao!]A questão é, por mais pretencioso que o JAVA FX seja…

Para aplicativos WEB, ter que precisar de um RUNTIME para executar, e pela demora em carregar simples aplicações,
me cheira um tanto quanto os antigos APPLETs.

Por mais que falem de FUTURO da Internet, e RIA, isso aquilo…
O HTML continua firme e forte como a melhor opção na hora de desenvolver para WEB.
SIMPLES, Rápido, pretencioso, customizável e extremamente fácil para desenvolver…

A quase 10 anos, quando o FLASH teve aquele “BUM” em desenvolvimento de WebSites… Se falavam que os sites HTML
iriam morrer, e que quem não usa-se estaria ultrapassado.

Hoje o que vejo é xHTML/CSS cada dia mais forte, com a utilização de bibliotecas javascript/ajax como JQuery, fazem verdadeiros
milagres, e criam websites e aplicações com uma usabilidade e compatibilidade extraordinários.

Por mais que o FLEX desponte como boa opção, para programadores, por ser produtivo e criar boas interfaces sem precisar entender de design,
o JSF, na minha opinião, é muito maduro, permite maior customização, usabilidade, compatibilidade, e tem uma vida longa pela frente…

Com JSF, Facelets, um pouquinho de CSS e uma biblioteca como RichFaces ou IceFaces você consegue criar aplicações RIA, de qualidade excelente.

Assim como outros frameworks web, como grails, seam, wicket, ruby on rails, etc…[/quote]

Sinceramente não acho que JSF, HTML, CSS, JQuery seja a melhor solução para uma APLICAÇÃO WEB não. Já tive experiencias bem negativas em meus projetos utilizando tais tecnologias, inclusive com uma perde de desempenho absurda ! (ainda mais quando usado junto com Richfaces), e eu tenho amigos programadores com muito mais tempo de estrada que eu por sinal, que também compartilham das mesmas experiências negativas.

Creio que o Flex atualmente seja a melhor solução em termos desempenho, portabilidade, produtividade, curva de aprendizado, sim !

Agora, também não podemos misturar as coisas, estamos falando de aplicações web ou de simples sites ?

Eu defendo o uso do flex para aplicações web, que irão rodar em uma intranet por exemplo, ou mesmo na internet mas com um numero limitado de usuários, como por exemplo, 100, 200 usuários simultaneos, agora se for falar em termos de sites, portais, e-commerce, ai a história muda de figura. Tudo depende do tamanho do projeto, e da sua finalidade.

Não pode se julgar o desempenho de uma tecnologia, por base de uma experiência ruim.
Seu projeto pode ter tido baixo desempenho por N motivos de implementação em si, e não por culpa da tecnologia.

Não vou prolongar, porque já tiveram N discussões sobre isso aqui no fórum.
E o título do tópico é JAVAFX ou JSF, não flex… hehe

Mais apenas algumas coisas para pensar…

? Flex não é uma especificação padrão J2EE ( JSF é! )
? O flex só possui uma implementação, o da ADOBE ( JSF possui várias, como Mojarra, MyFACES, ADF Faces )
? Você depende do plugin do flash ( ok, por mais comum que seja, ainda depende )
? Flex demora mais para carregar, do que uma página JSF ( é fato, tanto é que um simples hello-world precisa de pre-loading )
? Flex Builder é pago

Não tenho nada contra o flex, acho uma excelencia tecnologia.
Mas a unica vantagem que vejo, é de qualquer programador conseguir fazer boas UI. E ser produtivo nesse sentido.

Desempenho JSF é superior. Isso é fato.

E?

Por que várias, se pode ter tudo em uma melhor?

99,9% dos navegadores tem o Flash Player, e se a maquina nao tiver ela faz o download antes de abrir a aplicação Flex.

Eu não acho pois o Flex demora no inicio, mas depois nao tem refresh durante a utilização, além disso, já ouviu falar em fazer um cache do framework do flex no flash player?

Isso pode ser algo contra, mas paga cada centavo

Estou sentindo pessimismo quanto a JavaFX de novo :frowning:.

Sou da seguinte opinião: para quem está no mercado abrace uma tecnologia madura… Fato!

JSF e JavaFX: JavaFX não é só para WEB, é desktop, mobile…

JavaFX e Applets: Applets são cheio de problemas para construir animações. Jogos então, nem se fala… JavaFX sana isso, com ele você tem uma linguagem voltada para suas necessidades com desenvolvedor RIA.

JavaFX é novo: Mas esforços contínuos estão sendo feitos para melhorar, o time JavaFX é forte, tenho visto aplicativos poderosos usando JavaFX, e o melhor: Desenvolvimento ágil e simplicidade, isso meus caros, JavaFX é super simples!

JavaFX não tem nada implementado: Ninguém falou sobre isso aqui, mas antes que alguém pense nisto, quero que conheçam o JFXtras.

JavaFX e Desktop: Fora de contexto, mas quem já apanhou de Swing, vai ver como os novos componentes do JFXtras vão dar show no desenvolvimento desktop \0/

Bem, eu sou JavaFX, gosto de JavaFX. Também gosto de Flash[um pouco de Flex] e comecei com JSF este mês.

Só acho que desenvolvedor Java tem que vestir a camisa e pelo menos testar JavaFX, e ver os esforços antes de sair falando “coisas”!

Abraços.

Sai fora do FLEX e essa maldita Adode e seu ActionScript, e pequisa mais sobre a estabilidade e escalabilidade do JSF, é verdade o JSF 2.0 promete muito msm e eu confio muito nisso…

Eu também sou a favor de usar tecnologias Java, não gosto do desenvolvimento em Flash/Flex/etc.

O JSF1.x eu também não gosto muito por 2 motivos:

  1. 1o. que comparado com outros frameworks se escreve muito código, não sendo tão produtivo;
  2. como uso Linux e Firefox, aquele “zilhão de controles em Javascript” deixam o navegador uma carroça. Mas isso eu acho que também é culpa do Firefox, que até a versão 3.0 é muito ruim para processar JS.
    Por isso espero ver no JSF2 muitas coisas realmente melhoradas, e ele já está em Beta2.

Quanto ao JavaFX, como tem esta promessa de multi-devices, eu achei muito interessante. Meu interesse é em aplicações web para intranets mesmo, e não sites para o “grande público”. Sendo assim, é um ambiente mais controlado, e baixar um runtime uma vez só não é um problema. Eu tenho várias aplicações com Swing que funcionam muito bem na intranet, não tenho do que reclamar dele. Por isso, acho que o JavaFX não será um problema.

Mas se tiverem mais opiniões sobre isso, podem mandar ver no tópico… obrigado!

Seu xiita … huaHUAHuahuAHUh

Não sou contra flex e nen o Flash Builder, mto pelo contrário , acho o flex bastante produtivo e rapido na hora de construir uma aplicação.

Porem desde que descobrir o FX , achei mto mais integrador com java .
Seria bom se pudessemos escrever java dentro dos .as

E com NetBeans 6.9, é mais facil ainda …

O ruim é o carregamento mesmo … mas adorei principalmente o fato de usar uma linguagem servidor dentro da visualização.

O título não faz referência ao Flex e o autor quer saber entre JSF e JavaFX.

Quando lançaram o JSF 1.0 fizeram a mesma promessa…

Eu estou desenvolvendo o projeto com JSF2. Comecei com JSF1.2, mas é impressionante como o JSF2 facilitou muitas coisas. E ja tenho em producao em alguns clientes, com varios usuarios simultaneos, com RichFaces3.3.3 (“quase”-compativel 100% com JSF2), e esta tendo uma boa performance.

Eu ainda estou estudando o JavaFX, mas pelo jeito vai ficar para modulos de devices “estranhos” como mobiles… para a parte web o JSF2 esta dando total conta do recado.

Tenho tambem um modulo Swing para a parte desktop e, apesar do Swing inicialmente dar um pouco mais de trabalho, depois que voce pega o jeito, é show de bola o controle de interface. Nele realmente voce tem a interface “nas maos”!

Revivendo o tópico…

Com a liberação do JavaFX 2.0 (mesmo sendo beta), caí nessa mesma questão: JavaFX ou JSF?

Sou entusiasta do JavaFX, mas como eu conheci ele quando já estavam surgindo rumores da versão 2.0, decidi deixar pra aprender depois.

Como o JavaFX 2.0 é integrado à linguagem Java, não é necessária uma curva de aprendizado tão grande como no JavaFX 1, que tinha uma linguagem de script por trás pra aprender.

Qual é o feeling de vcs? O JavaFX 2.0 vai ter cacife pra peitar aplicações web com JSF?

E do pessoal que já chegou a testar o JavaFX 2.0, ele é de fácil utilização? Tem boa performance?

A versao beta ja mostra que tem ideias bem interessantes.

  1. nao precisa de linguagem de script, usa Java puro
  2. é integrado ao Swing, tem gente ate chamando de “Swing 2.0”, e com isso abre a possibilidade de se interfaces ricas de verdade, sendo que o JSF2 nao é tao “rico” assim, e abusa do uso de AJAX para tentar “simular esta riqueza”
  3. tem a possibilidade de criacao de aplicacoes desktop, web e mobile, ou seja, tudo em um. Isso que estou achando mais legal na ideia
  4. tem um plugin novo revisado para funcionar dentro de browsers, muito melhor que o antigo e ruim plugin de applets
    Estou no aguardo da versao beta para Linux, pois por enqto tem apenas para Windows.
    Acho que o JavaFX finalmente vai alavancar.

Essa dúvida JSF ou JavaFX não faz muito sentido.

JavaFX gera um cliente Flash (ou RIA… nem sei mais o que gera… mas o fundamental é que é diferente) e JSF gera um cliente HTML.

Existem vários frameworks que geram HTML e também deve ter vários (nao conheço) que geram flash.

A primeira dúvida é: Eu quero um cliente Flash ou HTML + Javascript?

Respondendo a essa pergunta: Com o HTML 5 o flash perderá bastante espaço. Então invista no HTML5 + Javascript

Pronto, escolheu HTML… então agora escolha um framework…

Você basicamente vai escolher entre um framework orientado a componentes (JSF, GWT) ou MVC como Spring…

Escolheu o tipo de framework?

Então agora escolha qual framework…

E por aí vai…

Isso foi só uma visão geral… beeem geral das coisas… Sugiro entender melhor o que é cada coisa, antes de escolher…

O JavaFX2 roda sobre um plugin Java, uma evolucao do plugin de applets Java, e nao sobre um plugin Flash.
E a discussao que o colega inicialmente levantou é totalmente pertinente sim, pois hoje é possivel criar interfaces rodando no navegador usando JavaFX2, e como ele agrega recursos do Swing, gera uma interface muito melhor que qualquer coisa que gera HTML, como é o caso do JSF. Em situacoes onde seu usuario precisar de algo mais sofisticado na sua aplicacao web, o JavaFX2 podera ser a solucao.
Somente nao podemos dizer “ainda” se sera viavel fazer a aplicacao web inteira rodar no plugin, se vai ficar lento ou nao. Esta é a grande questao do momento. Qual a estrategia para fazer uma aplicacao inteira em JavaFX2, e nao passar pelos mesmos problemas que existiam com applet antigamente.

Eu disse que nao é pertinente… porque (agora esclarecido) JavaFX é uma interface JAva… e JSF é uma interface HTML…

Nesse pensamento poderia ser
JavaFX x JSF
JavaFX x Spring MVC
JavaFX x VRaptor

etc etc etc…
entao a discussao é:

RIA x HTML

e nao… JavaFX (que é uma das formas de RIA) x JSF (que é uma das formas de HTML)

Os dois tem propositos difererentes entao… a comparacao não é totalmente pertinente

Voce esta correto em dizer que a discussao deve ser: RIA x HTML.

Entao, poderia colocar do lado RIA outras ferramentas nao-Java. Contudo, como o “concorrente Java” deste lado é apenas o JavaFX, e estamos em um forum de Java, podemos dizer que a discussao pode ser: JavaFX x HTML (JSF,SpringMVC,GWT,etc).

Sendo que vale destacar o seguinte: Como infelizmente o HTML nunca foi e nem com o HTML5 sera algo realmente RIA, apesar dos esforcos em usar AJAX para “trocentas” coisas e tentar simular RIA, ele nao é. Por isso esta havendo tanta gente interessada em analisar e torcer para que o JavaFX seja finalmente “RIA na Web em Java”. Sendo que o fato de se programar em Java nao é simplesmente questao de linguagem, mas sim de uso de tudo que a plataforma oferece de maneira nativa como uma VM otimizada, GC, facil acesso a webservices em Java, etc, ou seja, permitir usar coisas robustas e estando virtualmente em apenas um ambiente, sem as “mutretas” que o HTML e o JS fazem.