10 motivos para preferir JSF

Se a aplicação tá rodando legal, não se deve mudar mesmo. Tb acho isso.

O problema é começar um projeto do zero hoje usando Struts. Sei lá. Acho que a maioria concorda que existem frameworks melhores no mercado.

Mas é o que vc falou. O medo da mudança. O medo do novo. E o apego ao seguro, isto é, ao que já se dominou.

Pessoal,

aproveitando essa discussao, e como vou comecar um novo projeto. Queria saber se vocês aconselham utilizar o webwork ao invés do Struts? O projeto é pequeno, sao 2 analistas e 1 programador, que vai durar uns 3 meses(previsto).

A equipe já conhece struts e pela complexidade não tem necessidade de usar nada parecido com o Spring. A idéia é usar ou o Struts (ou outro) talvez o ww, juntamente com o hibernate.

O problema de projetos de software não é sua duracao durante o desenvolvimento e sim sua manutencao.

Usar struts é um tiro no pé na manutencao, dificil de manter com testes, propenso a ter lixo ao inves do codigo. etc. etc.

[quote=Fabrício Cozer Martins]Pessoal,

aproveitando essa discussao, e como vou comecar um novo projeto. Queria saber se vocês aconselham utilizar o webwork ao invés do Struts? O projeto é pequeno, sao 2 analistas e 1 programador, que vai durar uns 3 meses(previsto).

A equipe já conhece struts e pela complexidade não tem necessidade de usar nada parecido com o Spring. A idéia é usar ou o Struts (ou outro) talvez o ww, juntamente com o hibernate.
[/quote]

Porque não tem necessidade de usar “nada parecido com o Spring”?

Spring e Hibernate são um casamento perfeito :mrgreen:

Pra uma olhadinha no Spring MVC tem esse tutorial simplíssimo: Spring MVC Step-by-step

Ah, um exemplo bem besta de um DAO que eu tenho aqui:

    public void save(Object objeto) {
        this.getHibernateTemplate().saveOrUpdate(objeto);

    }

    public void update(Object objeto) {
        this.getHibernateTemplate().update(objeto);

    }

    public void delete(Object objeto) {
        this.getHibernateTemplate().delete(objeto);

    }

Não abri nem fechei sessões nem transações aqui, tudo é resolvido pelo próprio Spring e as transações são definidas declarativamente, não no código :mrgreen:

A resposta eh: nao tem resposta

Todos os frameworks fazem a mesma coisa. Ate mesmo o struts se dominado vai ter a mesma complexidade de manutencao que outros.(arrisquei agora hein.,…)

O negocio eh escolher um framework que voces estejam dispostos a aprender. Aprendam em uma semana o basico e decida se vai utilizar ele…

Que tal?

ps: trabalhar com object eh coisa feia… .cade generics daniel? :slight_smile: java 5 tae…

Alias sobre essa historia toda de mudanca, a palestra da Linda Rising esse fds sera sobre esse assunto. COmo mudar o padrao tartaruga das empresas

Do mesmo jeito que muita gente prefere pagar uma cópia do Windows por preguiça (medo) de tentar usar o Linux, com os frameworks é a mesma coisa… é difícil fazer muitas vezes quem conseguiu se dar bem com o Struts, tentar ver além do horizonte… mesmo que saiba que existem opções “melhores”.

Como o Guilherme disse, fazer todos fazem… mas toda tecnologia se aprimora e avança… e isso, nem todos conseguem seguir.

Será mesmo? Se eu tivesse tempo disponível, e o código estivesse uma porcaria, eu mecheria! Os testes unitários estão ai para estes tipos de situações! :wink:

:smiley: Essa realmente vc arriscou! Acho que sempre é válido dominar bém o framework que vc está trabalhando, mas a colocação do smota já mostra o principal motivo que faz com que o Struts não seja manutenível como os outros frameworks…

IMHO, testar as actions do webwork é fácil pacas, enquanto no struts a complexidade é pelo menos 2x maior!

Abraços!
Thiago

Se a aplicação tá rodando legal, não se deve mudar mesmo. Tb acho isso.
[/quote]

Ela está funcionando agora, mas quem garante que ela vai continuar a funcionar quando houver uma grande mudança nas regras de negócio pra se fazer?

Se você não tem confiança no que está fazendo (por falta de testes automatizados) e anda escrevendo gambiarras pra lidar com falhas da sua ferramenta (como são os Entity Beans e CMP na especificação EJB), mesmo que a coisa “funcione”, a migração deve ser um caminho certo, porque um dia a bomba estoura.

E como já diria Murphy:

Acresentando um roteiro que sobre a tecnologia

http://www.jspolympus.com/JSF/JavaServerFaces.jsp

Uma pergunta diferente: e se todos os projetos da empresa são com o Struts? Vale adicionar um novo framework para novos projetos e quebrar o “padrão”?

valeuz…

Uma pergunta diferente: e se todos os projetos da empresa são com o Struts? Vale adicionar um novo framework para novos projetos e quebrar o “padrão”?

valeuz…[/quote]

Refazendo sua pergunta:
:arrow: todos os softwares da empresa são feitos em COBOL para plataforma alta. Devemos migrar para plataforma baixa?

A resposta é: depende.

Como qualquer tecnologia Struts tem seus vantagens e desvantagens, o maior problema que um boa parte dos programadores não tem o conhecimento necessario para usufruir de todos os beneficios que ela disponibiliza…
Então eu recomendo a galera estudar mais e conhecer a fundo o struts

Abraços

[quote=eloi_medeiros]Como qualquer tecnologia Struts tem seus vantagens e desvantagens, o maior problema que um boa parte dos programadores não tem o conhecimento necessario para usufruir de todos os beneficios que ela disponibiliza…
Então eu recomendo a galera estudar mais e conhecer a fundo o struts

Abraços[/quote]

Esquece o Struts, na boa. Se na sua empresa usam isso então use e seja feliz (=mantenha o seu emprego). Caso contrário use algo mais atual…

e ae galera blz?
não quero reabrir o post mas, de pessoal que comentou esse post a um ano atras so respondam duas coisas
1-qual framework vc usava a um ano atras e ?
2-qual vc usa(ou usaria) hj?
só queria saber se a opinião de vcs mudou

[quote=Maurício Linhares]Ah, um exemplo bem besta de um DAO que eu tenho aqui:

    public void save(Object objeto) {
        this.getHibernateTemplate().saveOrUpdate(objeto);

    }

Não abri nem fechei sessões nem transações aqui, tudo é resolvido pelo próprio Spring e as transações são definidas declarativamente, não no código :mrgreen: [/quote]

Realmente concordo. O spring me pareceu um frameWork bem completo. Para trabalhar com Hibernate por exemplo, proporciona amplas reduções de código, como citado, além de permitir a eliminação do arquivo hibernate.cfg.xml. 12, 15 linhas de código sem spring, torna-se apenas 1,2, 3 linhas de código com o spring. Baxei o danado recentemente e assustei com o tamanho. Mas, ao analisa-lo com mais calma, percebi que 80% do pacote baixado é documentação.

[quote=saoj]

Concordo plenamente! O problema é que devido ao fato desses frameworks serem difíceis de aprender, o cara depois não quer mudar quando algo novo e melhor aparece.

Agora se algo é fácil, simples e não-complicado, então vc pode brincar sem envolvimento emocional. E se algo melhor aparecer vc não ficará resistente a mudança.[/quote]

dificil de aprender foi muito bem colocado.

A documentacao de spring parece que foi gerada com aqueles softwares que geram artigos que nao falam nada e usam 10 paginas pra isso, no meio de documentacao eles ficam tentando vender o produto, cansa.

Quanto a struts… eu aprendi o basico e cheguei a conclusao que eu nao precisava daquilo para fazer minhas aplicacoes, tenho pavor de xml.

Quanto a JSF… precisam copiar algumas coisas dos componentes do ASP.net. Mas eh o que eu uso e acho muito legal.

Por exemplo: O Image so carrega via URL, se voce tem alguma imagem na memoria (vinda de blob ou gerada) voce nao consegue dar apenas um Image.setImage(byte[]) ou algo do tipo…

Hoje em dia utilizo o JSF e so mudei do struts pois gostei da proposta do JSF, até então usava o Struts, ja tinha os Controles de Exceções e tudo funcionava, gostei da ideia do Spring, mais é tanta arquivo de configuração, que teria que utilizar velocty para ganhar tempo de desenvolvimento com ele.
:twisted:

[quote=afamorim]Hoje em dia utilizo o JSF e so mudei do struts pois gostei da proposta do JSF, até então usava o Struts, ja tinha os Controles de Exceções e tudo funcionava, gostei da ideia do Spring, mais é tanta arquivo de configuração, que teria que utilizar velocty para ganhar tempo de desenvolvimento com ele.
:twisted: [/quote]

Da uma olhada no Spring-Annotation :smiley:
na minha opinião é a integração perfeita entre spring e JSF :smiley:
pelo menos se tu puder usar Java 5, faz o setup inicial do projeto e depois não precisa mais mexer com XML :smiley:
dependendo do caso, nem no faces-config.xml

[quote=urubatan][quote=afamorim]Hoje em dia utilizo o JSF e so mudei do struts pois gostei da proposta do JSF, até então usava o Struts, ja tinha os Controles de Exceções e tudo funcionava, gostei da ideia do Spring, mais é tanta arquivo de configuração, que teria que utilizar velocty para ganhar tempo de desenvolvimento com ele.
:twisted: [/quote]

Da uma olhada no Spring-Annotation :smiley:
na minha opinião é a integração perfeita entre spring e JSF :smiley:
pelo menos se tu puder usar Java 5, faz o setup inicial do projeto e depois não precisa mais mexer com XML :smiley:
dependendo do caso, nem no faces-config.xml[/quote]

mas o facesconfig eu acho super simple, além disso, existem IDES que voce só usa o mouse, ele mesmo ja coloca o return nos teus actions, eu to usando Studio Creator, bem legal… (apesar dos bugs ABSURDOS que eu encontrei)