Spring Webwork ou Struts ou Spring + Struts?

Olá,
estamos para desenvolver uma aplicação web de grande porte e, de repente, nos deparamos com o seguinte dilema: Spring ou Struts ou, melhor ainda, Spring + Struts?

Por um lado, o Struts é excelente, a quantidade de recursos presentes no framework é simplesmente maravilhosa. Por outro lado, também adoramos o Spring (e o danado ainda tem o Webwork!). Pra nos confundir ainda mais,

Sendo assim, pergunto, qual a opção favorita de vocês: Basear a camada web inteiramente no Struts, no Spring ou integrar Spring com o Struts?

Aí entra outra dúvida: que vantagens teríamos com a integração do Spring com o Struts?

Spring + JSF.

Ninguém em sã consciência começaria um novo projeto usando Struts 1.x hoje.

não conheco Struts… apenas de falar mesmo…
mas o que eu vi do 2.0 parece bom…
não?

Pois é, andei lendo alguma coisa sobre o Struts 2.0 e também achei bastante interessante, razão pela qual ainda estou em dúvidas se devemos largar o Struts ou não.

Só relembrando, o Struts 2 não tem nada haver com o Struts 1, do 1 ele só tem o nome.

Na realidade é o Webwork :slight_smile:

Colocando então o Struts 2 na rodada, o que acha Maurício?

por isso que eu comentei sobre o struts 2.0…
tu disse q era loucura começa com struts 1.x
mas tme o 2 q parece mto bom… falta é tmepo pra min estuda ;/

[quote=kicolobo]Na realidade é o Webwork :slight_smile:

Colocando então o Struts 2 na rodada, o que acha Maurício?[/quote]

Continuo achando JavaServer Faces melhor :wink:

Mas por que Maurício? Rola de dar algumas razões para que nos ajude aqui a tomar nossa decisão?

:arrow: Comunidade muito maior (não, não vale dizer que a comunidade Struts é grande, porque é do Struts 1, não do 2);

:arrow: Muita documentação disponível (pelo que eu me lembro, uns 5 livros);

:arrow: Integração com outras ferramentas, como o Spring;

:arrow: Novos frameworks integrados, como o Facelets, que é um tiles bem mais poderoso e bem mais simples, ou o Seam, que agiliza absurdamente a construção de aplicações baseadas em bancos de dados;

:arrow: Modelo baseado em componentes, com várias facilidades para criar formulários, com validação;

:arrow: Integração simples com AJAX através de outros projetos, como AJAX4JSF;

Esses são os meus, mas tenho certeza que outras pessoas aqui teriam outros.

Concordo com o Maurício, e as razoes que ele deu eu nem preciso complementar… mas no entanto irei frizar em duas:
:arrow: Facelets, que além de fazer tudo que o tiles faz, faz muito mais, inclusive a parte ajax que o ajax4jsf faz (isso no Facelets 1.2), a te permite fazer componentes pro jsf de forma muito fácil; e de quebra voce pode construir as telas com o dreamweaver pois ele suporta um esquema onde voce pode “marcar” uma tag html comum para virar uma tag jsf…
:arrow: Seam, que como o Maurício falou dá uma bruta agilizada na contrução de aplicações, pois vc usa anotacoes para tudo, fora outras coisas. e ainda tem a JSR299 que pretende padronizar a idéia do Seam assim como fizeram com o hibernate atraves da JPA.

E pelo JSF ser padrão, pode esperar muito mais fornecedores se propondo a desenvolver coisas pra ele.

Pergunta crucial para mim: O JSF permite componentizar uma aplicação grande assim como se pode fazer no Struts? Nossa aplicação será composta por diversas aplicações menores, o que justifica a minha pergunta.

[quote=kicolobo]Pergunta crucial para mim: O JSF permite componentizar uma aplicação grande assim como se pode fazer no Struts? Nossa aplicação será composta por diversas aplicações menores, o que justifica a minha pergunta.

[/quote]

Nunca vi um framework web que não deixe fazer isso, isso é uma questão de organização, não de “componentização de aplicação”. E eu sempre achei o suporte a “módulos” do Struts bizonho.