JSF possui performance baixa?

4 respostas
rafadelnero

Eu pesquisei a respeito mas não achei respostas satisfatórias, uns dizem que realmente há problema de performance e outros dizem que não, alguém que use e tenha mais experiência com a tecnologia talvez possa responder melhor.

Achei até uma frase do James Gosling dizendo “I hate JSF with a passion”.
Sei que na evolução do JSF do 1.2 para o 2.0 a performance aumentou bastante.

Pra maioria das soluções do mercado, é viável usar JSF?

Pra criar uma aplicação onde milhões de acessos simultâneos fossem feitos, JSF seria uma boa escolha?

A performance do JSF supera o GWT?

Frameworks Action Based são mais rápidos que frameworks Component Based?

Qual seria o framework (Controller/View ou outros) que atinge uma performance mais alta?

4 Respostas

G

cara tem tanta coisa envolvida nas questões que vc citou, que da até preguiça de responder.
Então vou responder apenas ao título: não, jsf não possui performance baixa, depende muito de como e pra que vc utiliza o fw.

imagine o seguinte: uma ferrari é mais veloz que um fusca? depende.

se for numa pista reta a ferrari ganha, mas se for num asfalto esburacado ou terra pura, aí seu fusca resolve seu problema enquanto que a poderosa ferrari nem com 500 anos chega onde vc quer…

pq dei o exemplo? pra vc entender que não existe bala de prata!
cada fw teu seu foco!

gwt tem seu mercado assim como jsf tem o seu, cada um atende determinado problema.

fredericomaia10

Pesquisa no fórum que tem muita discussão sobre isso, com mais fundamentos e argumentos. Assunto polêmico. Segue IMHO:

JSF é mais lento que escrever seu próprio HTML, CSS e JS? Sim.
JSF é mais lento que GWT? Sim.
Você consegue fazer besteira e deixar seu HTML, CSS e JS ou GWT com desempenho ruins e mais lentos que JSF? Sim.
Você consegue usar as melhores práticas e ter seu sistema JSF com bom desempenho? Sim.

Vários fatores devem ser levados em conta ao escolher um framework. Performance é só um deles e vc precisa saber medir e não ir no olhômetro.
A maioria das aplicações que já vi com JSF não usavam as melhores práticas e o sistema ficava lento. Vc consegue resultados totalmente satisfatórios fazendo certo.

O que já vi errado com JSF? Só citando alguns. Usar escopo de sessão pra aplicação inteira. Não entender o ciclo de vida e ir no banco várias vezes por causa de um get no managed bean que realizava a consulta. Somando isso ao baixo conhecimento de JPA/Hibernate aí fica bonito mesmo. Não saber usar Ajax. Fazer paginação apenas virtual.
Alguns desses erros são cometidos com outros frameworks, mas não sei pq com JSF é mais comum. Pelo menos é o que tenho visto. Acho que é pq o desenvolvedor começou agora fez um CRUD com JSF e Primefaces, ficou lindão e ele (e seu gerente) acha que está preparado. Só que não.

Onde aprendo melhores práticas com JSF? Blog do UAIHebert e seu livro de boas práticas que é muito bom.

C

Opa Rafael, blz aqui é o Cícero.
Bem sempre ouvimos que o JSF é lento, até pela natureza stateful do JSF, deve haver um override no tráfego de rede, mas fato que cada nova atualização terá uma melhora na performance.
E na maioria das vezes usamos vários framework para nosso desenvolvimento.
Acredito que o JSF seja viável sim, caso contrário não teria tanta gente usando.
Certamente tenha algum framework com melhor performance, mas se tratando de performance, teremos a melhora em algum aspecto e piora em outro.
Os framework action based tem uma curva de apredizado mais tênue.
É não menos importante temos que focar nas melhoras práticas de cada framework, para não subutilizá-los.

rafadelnero

cmonteiro:
Opa Rafael, blz aqui é o Cícero.
Bem sempre ouvimos que o JSF é lento, até pela natureza stateful do JSF, deve haver um override no tráfego de rede, mas fato que cada nova atualização terá uma melhora na performance.
E na maioria das vezes usamos vários framework para nosso desenvolvimento.
Acredito que o JSF seja viável sim, caso contrário não teria tanta gente usando.
Certamente tenha algum framework com melhor performance, mas se tratando de performance, teremos a melhora em algum aspecto e piora em outro.
Os framework action based tem uma curva de apredizado mais tênue.
É não menos importante temos que focar nas melhoras práticas de cada framework, para não subutilizá-los.

Haha, fala aí Cícero, legal que você está frequentando agora o GUJ!

Sim, fiz essa pergunta porque afinal é uma especificação da Oracle, é extremamente produtivo, é ensinado em diversas escolas de Java conceituadas, e é apoiada por grandes programadores experientes. Produtividade e praticidade é o futuro das linguagens.

Criado 30 de julho de 2013
Ultima resposta 31 de jul. de 2013
Respostas 4
Participantes 4