Sobre JSF não prestar

Isso é apenas um comentário sobre a tecnologia JSF.
Já trabalhei com JSF com novos projetos e sistema legado. No começo é tudo muito bonito, os componentes prontos, não se escreve javascript, nem css e nenhum código na página. Essa abstração de como a web trabalha parece tentadora. Já cheguei a indicar e defender essa abordagem que o JSF propõe.

Em contra-partida, os conceitos envolvidos e necessários para um bom domínio disso requer muito estudo e entedimento. Já vi por exemplo, vários casos de desenvolvedores que simplesmente ignoram o ciclo de vida do framework. Estou falando disso: O que todo desenvolvedor JSF deveria saber.  Sem contar que na prática, a ‘web’ não é totalmente abstraída. O desenvolvedor tem que saber onde está pisando. Mesmo com a versão nova saindo, JSF 2.x e mesmo com o JBoss Seam, as coisas ainda não fluem como deveriam. Alias, essa v 2.x já está bem atrasada, considerando que a primeira versão data de 2004. Hoje, eu não uso nem indico JSF em nenhum projeto.

Sou a favor de usar a tecnologia de acordo com o problema, mas com JSF não dá mais. Sou muito novo pra isso.

O JSF resolve os problemas que ele mesmo criou.

Para encerrar, compartilho com vocês uma thread sobre as falhas do JSF:

http://groups.google.com/group/javace/msg/7d50b05befb54ddd?pli=1

De qualquer forma, se precisarem tirar dúvidas sobre JSF, recorram à lista do JavaCE. Tem gente bastante disposta lá. Até.

#jsfailmanifesto

UPDATE 1 (7 de julho de 2011)

Tropeçei nesse link bem detalhado e bastante interessante: JSF sucks! Principalmente se voce pular para os 47 minutos desse video: I hate JSF with a passion e ver o que James Gosling acha do JSF.

UPDATE 2 (27 de julho de 2011)

Deixe sua indignação no nosso muro: http://piche.me/jsfailmanifesto

Tags: ,

5 Responses to “Sobre JSF não prestar”

  1. Lucas Murata says:

    Mandou muito bem! Parabéns

    Apoio #jsfailmanifesto

  2. #familiarponte :)

    Boa, linkou um post meu na JavaCE cheio de erros de pt, se tivesse dito eu teria melhorado :)

  3. Renan says:

    Qual a tecnologia que você tem trabalhado atualmente Rodrigo?!

    Pra ter uma mudança de visão assim, alguma coisa bem drástica de diferente você deve ter notado…

  4. admin says:

    Oi Renan,

    não mudei de opinião drasticamente quanto ao JSF.
    Para java web, hoje trabalho com vraptor + sitemesh (para os templates) +jsps, basicamente.

    Agora sobre o dito cujo, permita-me contextualizar esse desgosto.

    Quando comecei a usar JSF foi por imposição de um projeto que participei, e claro, como eu não conhecia, não tinha porque não usá-lo.

    Após isso, estudei jboss seam, pois para quem vinha do JSF, era simplesmente uma maravilha, porque resolvia todos os problemas na mesma filosofia que o JSF pregava: entao voce poderia ter escopos conversacionais de verdade! Nada de manter estado de objetos na pagina (usando o t:saveState, por exemplo [myfaces tomahawk era top!] ).

    Pois bem, acabei que fiz um projeto freelancer com jboss seam (cheguei a clonar o estilo do site do richfaces! :P ) e ai que, posteriormente, quando tive necessidade de fazer alterações, vieram as dores de cabeça em formato XML!

    Depois disso, trabalhei com mais 2 projetos, um novo e um legado. Nessa época já nem escrevia mais nada com javascript. Mas como de costume, as alterações e manutenções vieram. E foi aí que senti o peso da responsabilidade de um código com design ruim.

    Testes? Nem pensar. Já imaginou testar cada fase do ciclo de vida para cada action do seu managed bean? Poisé, nem pensar.

    Foi quando no último projeto (no qual ainda estou) que usei JSF, resolvemos reescrever sua “parte” web. Muita coisa realmente foi rescrita, mas 1 ano depois de largar o JSF é que vejo a total diferença de qualidade.

    Pode ate parecer que mudei drasticamente, pois nunca mais postei nada aqui no blog e um dos primeiros foi sobre jboss seam (que vou remover daqui a algum tempo), logo, entendo seu ponto de vista.

    Outro ponto que me deixou indignado com JSF, foi a quantidade de posts nas listas de discussão com dúvidas sobre a coisa. Tudo bem que o pessoal está aprendendo, até porque está chuvendo projetos.

    JSF parece que deixa os desenvolvedores meio burros, com preguiça até.

    E eu não os culpo. Se tem uma coisa que muda sua vida, é tecnologia. Tecnologia pode te fazer pensar mais alto e chegar mais longe, então é importante você ser sempre criterioso quanto ao que usar.

    Então, sabe aqueles desenvolvedores web que usam rails, django, python, whathever, SUPERPRODUTIVOS que odeiam Java? Poisé, sou eu com JSF.

  5. admin says:

    @CMilfont

    Ah Milfont, eu tive a idéia do post justamente por reler essa thread!
    Valeu pela inspiração!

Leave a Reply