[RESOLVIDO] Utilizar ou Não JSF

Boa tarde,

Hoje eu li um blog onde o cara diz para não iniciar um novo projeto utilizando o JSF.
Ele diz que para quem vai iniciar um projeto novo, é melhor utilizar um framework como o VRaptor ou utilizar o Ruby on Rails.
Gostaria de saber a opinião de todos sobre começar ou não um projeto utilizando JSF.

Isto depende de uma serie de fatores…

Na verdade hoje eu diria use jQuery, mas tem vários fatores que tem que ser analisado…

Qual o escopo do projeto? Qual o tempo de codificação? Qual a demanda de melhorias?

Enfim vários aspectos devem ser analisados para usar um tecnologia, quem faz um comentário como este creio que esteja analisando uma situação especifica.

Fica ai minha opinião sobre o assunto.

Se você tiver grande conhecimento em JSF, não vejo porque trocar por VRaptor, por exemplo, sendo que você desperdiçaria um bom tempo aprendendo a utilizá-lo.

Agora se o seu conhecimento dos dois é quase o mesmo, aí entram outros fatores. E conhecendo bem os dois, acho que você conseguiria analisar o problema e decidir qual tecnologia cabe melhor ser utilizada.

Esse negocio de não use JSF é babaquice, coisa de hater mesmo. Grande parte das acusações contra o JSF foram corrigidas na versão 2.0, mas continuam sendo atacadas por pessoas que nem se deram ao trabalho de tentar utilizar a “nova” versão do framework. A outra parte das acusações são feitas por pessoas que ou não entendem como o JSF funciona (Principalmente por não entenderem o ciclo de vida) ou por utilizarem errado.

[quote=gmantovani2005]Boa tarde,

Hoje eu li um blog onde o cara diz para não iniciar um novo projeto utilizando o JSF.
[/quote]

Uma decisão dessa envolve tantos fatores que só dá pra classificar essa opinião como achismo.

Ex:Se eu trabalho muito bem com JSF e conheço pouco de Vraptor por ex,vou me arriscar desse jeito sem necessidade pra que?

Gosto bastante de JSF, ja usei o 1 e o 2, com PrimeFaces, Richfaces, PrettyFaces e MyFaces.

Eu diria pra usar JSF somente para sistemas de intranet, onde o usuário possui login/senha para mexer. Em casos em que a aplicação ficará aberta para usuário espontaneos, que necessite de SEO, eu não aconselho usar JSF.

Ele guarda muitos dados em sessão, fica dependente disso, o número de vezes que o usuário pode voltar páginas é limitado… enfim, uma série de motivos que considero impedimentos para aplicações abertas ao público.

Então, se for uma aplicação de Intranet, recomendo JSF sim.

[quote]Eu diria pra usar JSF somente para sistemas de intranet, onde o usuário possui login/senha para mexer. Em casos em que a aplicação ficará aberta para usuário espontaneos, que necessite de SEO, eu não aconselho usar JSF.

Ele guarda muitos dados em sessão, fica dependente disso, o número de vezes que o usuário pode voltar páginas é limitado… enfim, uma série de motivos que considero impedimentos para aplicações abertas ao público. [/quote]

Isso é TÃO relativo. Se você precisa de SEO e URL amigáveis é só utilizar o PrettyFaces, que provem essa e outras funcionalidades de forma absolutamente simples. E Jsf guarda muitos dados na sessão? Realmente não entendi sua afirmação, não para o JSF 2.0, ja que você pode usar @Viewscoped para 90% dos managed beans, e utilizar @SessionScoped para dados que você REALMENTE DEVE guardar na sessão, independente do framework utilizado. Não quer utilizar ViewScoped? Utiliza CDI e implementa beans com @ConversationScoped.

Veja bem, eu não estou dizendo que o JSF é sempre o framework mais indicado para resolver todos os problemas, de maneira nenhuma, para grande parte dos websites eu aconselharia a utilização do VRAPTOR que alem de ser mais simples (Tem uma curva de aprendizado infinitamente menor do que o JSF), é leve e provê uma forma elegante e simples de trabalhar com serviços RestFul. Mas de forma nenhuma o JSF é esse monstro que muita gente pinta. Você consegue fazer tudo o que faz com outros frameworks com ele, é só ter o conhecimento necessário.

Como o pessoal já falou, não pode ser nem 8 nem 80. É preciso avalisar, eu particularmente não vejo problemas em usar JSF.

A versão 1.2 realmente desejava a desejar em vários pontos, mas combinando com JBoss Seam e facelets ia muito bem!

Agora a versão 2 ficou muito melhor…ainda mais com o CDI, vale a pena dar uma olhada.

[quote=rdgc][quote=Guilherme Gomes]Gosto bastante de JSF, ja usei o 1 e o 2, com PrimeFaces, Richfaces, PrettyFaces e MyFaces.

Eu diria pra usar JSF somente para sistemas de intranet, onde o usuário possui login/senha para mexer. Em casos em que a aplicação ficará aberta para usuário espontaneos, que necessite de SEO, eu não aconselho usar JSF.

Ele guarda muitos dados em sessão, fica dependente disso, o número de vezes que o usuário pode voltar páginas é limitado… enfim, uma série de motivos que considero impedimentos para aplicações abertas ao público.

Então, se for uma aplicação de Intranet, recomendo JSF sim.[/quote]

Para webapp acho que o JSF vai muito bem. Já se for website, aí vc tem tanta coisa para avaliar que provavelmente o JSF não será escolhido.

abs.[/quote]
Exatamente. Webapps eu só vou de JSF + Primefaces, já websites faço com VRaptor, pois não é uma boa opção o JSF. Já o ruby, parece que deu uma sumida de uns tempos para cá, mas para pequenos sites e coisa mais simples, ele é bem produtivo. Agora o certo mesmo é fazer com aquilo que você está acostumado, por exemplo eu estou acostumado tanto com VRaptor, como com JSF + Primefaces, pois dou suporte em webapps e website feitos com esses frameworks.

Agora o que deve ser levado em conta, é que o VRaptor NÃO É um framework igual o JSF, pois além de mais fácil, ele é um framework MVC actionBased, enquanto o JSF é componentBased, mais similar à programação desktop. Por isso é um pouco chato de migrar de um framework para outro.

Valeu pessoal, obrigado pelos comentários.
Por enquanto estou indo de JSF…
Estou também aprendendo a utilizar as ferramentas do JBoss, ou seja, JBoss Developer Studio, que até o momento estão se mostrando fantasticas.
Ainda não vi como funciona o VRaptor, se alguém tiver alguma material para deixar o link aqui, vai ser de grande ajuda, pois vou dar uma estudada nele também.
Como o objetivo não é desenvolver Websites e sim portais / aplicativos, acredito que o JSF vai atender.

Ainda pensando no JSF, para segurança de dados utilizo Spring Security mesmo ou vocês tem outras sugestões (forma) para criar um controle de usuário no JSF ?

[quote=gmantovani2005]Valeu pessoal, obrigado pelos comentários.
Por enquanto estou indo de JSF…
Estou também aprendendo a utilizar as ferramentas do JBoss, ou seja, JBoss Developer Studio, que até o momento estão se mostrando fantasticas.
Ainda não vi como funciona o VRaptor, se alguém tiver alguma material para deixar o link aqui, vai ser de grande ajuda, pois vou dar uma estudada nele também.
Como o objetivo não é desenvolver Websites e sim portais / aplicativos, acredito que o JSF vai atender.

Ainda pensando no JSF, para segurança de dados utilizo Spring Security mesmo ou vocês tem outras sugestões (forma) para criar um controle de usuário no JSF ?[/quote]

Quanto à segurança existem outras opções, mas uma das melhores é o Spring Security, se já está no jeito aí vai embora que é muito fácil e tranquilo de usar.

Cara, quanto à sua questão ref.a JSF x outros, existem muitos posts e discussões no tópico ref. ao assunto. Acho que o mais importante é você conhecer a abordagem da especificação JSF e os paradigmas action-base e component-based. Dessa forma você terá insumos para decidir o que é mais adequado para o seu cenário. Particularmente acho o JSF uma tecnologia excelente, e os diversos frameworks de componentes existentes hoje facilitam e ajudam muito. Assim como, dependendo do seu projeto, JSF pode não ser adequado. Penso eu que o importante é você conhecer onde está botando a mão.

Sobre o VRaptor, segue o link: http://vraptor.caelum.com.br

Continuando a pensar em construir aplicações web com o JSF, o que vocês acham sobre o JBoss Seam com JSF e Richfaces?
Alguém já usou a ferramente e pode me dizer como foi a experiência ou como está sendo utilizar esta ferramenta?
Alguém pode dizer por que não gostou se for o caso?

[quote=gmantovani2005]Continuando a pensar em construir aplicações web com o JSF, o que vocês acham sobre o JBoss Seam com JSF e Richfaces?
Alguém já usou a ferramente e pode me dizer como foi a experiência ou como está sendo utilizar esta ferramenta?
Alguém pode dizer por que não gostou se for o caso?[/quote]

A proposito, resolveu aquele seu xabu com o Seam, para o qual você havia criado outro tópico?

Na versão 1.2 do JSF, o Seam é quase “indispensável”. Um framework realmente excelente, que ajuda muito na produtividade e resolve diversas presepadas do JSF. Na minha humilde opinião o melhor framework pra desenvolvimento web com Java. Sobre o RichFaces, bom, ele é um framework de componentes. Gosto bastante tambem mas nesse caso existem outras opções (PrimeFaces, MyFaces, etc), aí vai o que te agradar mais. Mas se a versão do JSF for anterior à versão 2, vai de Seam sem medo que vai te ajudar muito.

Na versão 3 o Seam é voltado para extensões do CDI. Na minha opinião, e se voce procurar nos forums do Seam verá que também é a da comunidade,a equipe do projeto ramelou feio com o Seam 3 que na verdade nao tem nada a ver com as versões anteriores, é um outro framework que serve pra outras coisas. Ao que tudo indica será descontinuado.

Sobre o problema que eu estava no Seam eu resolvi. Já até respondi o outro tópico e dei ele como encerrado.
Na verdade eu estava usando as bibliotecas do Mojarra-2.0 que eu havia baixado para criar o projeto.
Passei a utilizar as do próprio servidor JBoss e resolveu.

Sobre o Seam, eu estou testando a versão 2.2.2, com o servidor JBoss 6.0.0.
Só não entendi a questão que você falou sobre usar o JSF menor que 2.0. Eu não vou conseguir ou não vou ter ganhos para a versão 2.0 ?

Também não entendi referente a versão 3 do Seam.
Esta versão será descontinuada mas o framework Seam vai continuar com outras versões ou você quis dizer que o Seam vai parar por ai?

[quote=gmantovani2005]Sobre o problema que eu estava no Seam eu resolvi. Já até respondi o outro tópico e dei ele como encerrado.
Na verdade eu estava usando as bibliotecas do Mojarra-2.0 que eu havia baixado para criar o projeto.
Passei a utilizar as do próprio servidor JBoss e resolveu.

Sobre o Seam, eu estou testando a versão 2.2.2, com o servidor JBoss 6.0.0.
Só não entendi a questão que você falou sobre usar o JSF menor que 2.0. Eu não vou conseguir ou não vou ter ganhos para a versão 2.0 ?

Também não entendi referente a versão 3 do Seam.
Esta versão será descontinuada mas o framework Seam vai continuar com outras versões ou você quis dizer que o Seam vai parar por ai?[/quote]

Na verdade o Seam 2.x também rola com o JSF 2 e te agregaria o mesmo valor. Porém o JSF 2 já traz diversas melhorias que, nas versoes anteriores, o Seam era a única salvação. Coisas que só eram possíveis com o Seam (ou Spring), agora são coisas que o JSF já faz. De qualquer forma seria sim uma boa, mas com o JSF2 eu avaliaria também o uso do CDI + Seam 3.

Sobre o Seam 3. Como disse essa versão é um framework totalmente diferente (e incompativel) das versões anteriores. Tanto que a comunidade não gostou, mas o desenvolvimento do Seam 2 ao que me parece continua (inclusive com features novas e correção de bugs, pelo que dá pra concluir do JIRA do projeto). O Seam 3 é um framework voltado para o CDI, enquanto o Seam 2, a meu ver, era um framework voltado para ajudar nos probleminhas do JSF (entre as outras coisas que ele faz). Com certeza essa versão te ajudaria muito mesmo com JSF 2, mas eu iria de CDI nesse caso.

Suponho que o caminho pelo qual o Seam 3 seguiu sejam os interesses da JBoss em ação, já que pra eles é interessante que a comunidade adote o CDI nos projetos.

Alguma sugestão de material do JSF + CDI?

[quote=diegosammet]Esse negocio de não use JSF é babaquice, coisa de hater mesmo. Grande parte das acusações contra o JSF foram corrigidas na versão 2.0, mas continuam sendo atacadas por pessoas que nem se deram ao trabalho de tentar utilizar a “nova” versão do framework. A outra parte das acusações são feitas por pessoas que ou não entendem como o JSF funciona (Principalmente por não entenderem o ciclo de vida) ou por utilizarem errado.

[/quote]

Esse negócio de não usar ActionBase é babaquice, coisa de hater mesmo. Grande parte das acusações contra ActionBase foram corrigidas com a evolução do Servlet 3, mas continuam sendo atacadas por pessoas que nem se deram ao trabalho de tentar utilizar a “nova” versão do framework. A outra parte das acusações são feitas por pessoas que ou não entendem como ActionBase funciona ou por utilizarem errado.

[quote=Guilherme Gomes]Gosto bastante de JSF, ja usei o 1 e o 2, com PrimeFaces, Richfaces, PrettyFaces e MyFaces.

Eu diria pra usar JSF somente para sistemas de intranet, onde o usuário possui login/senha para mexer. Em casos em que a aplicação ficará aberta para usuário espontaneos, que necessite de SEO, eu não aconselho usar JSF.

Ele guarda muitos dados em sessão, fica dependente disso, o número de vezes que o usuário pode voltar páginas é limitado… enfim, uma série de motivos que considero impedimentos para aplicações abertas ao público.

Então, se for uma aplicação de Intranet, recomendo JSF sim.[/quote]

Para webapp acho que o JSF vai muito bem. Já se for website, aí vc tem tanta coisa para avaliar que provavelmente o JSF não será escolhido.

abs.