Struts 2.1

Em 2007 trabalhei com o struts 1.2.9 e achei um framework bastante improdutivo devido ao fato de se perder um tempo absurdamente grande e desnecessário em configurar vários arquivos xml. Já o jsf é muito mais produtivo, simplifica e muito o desenvolvimento e não se perde tempo configurando 1.000.000 de arquivos xml, podendo, ainda acrescentar as bibliotecas do richfaces para adcionar novos componentes.

"

É engraçado como o XML foi vendida a ideia de simplificar o trabalho e agora todos os frameworks ficam doidos pra sair dele. O JSF 2 eles tentam colocar ao máximo tudo pra notação.[/quote]

Engraçado foi o que vi em alguns foruns de .NET/C#, fui procurar sobre NHibernate, mas como sou do java nao queria ficar configurando XML, queria fazer a lá annotations, fui em alguns forum e os cara falando que isso SUJA o código, melhor fazer com XML.

O que pensei na hora, a galera do java ja passou pelos zilhoes de XML e esta doida querendo sair disso, ja o pessoal do .NET(pelos menos no forum que vi) esta maravilhado e acha lindo configurar tudo em XML, mal sabem o que os aguardam :twisted:

"

Eu tinha essa mesma ideia sobre “sujar” a classe até pouco tempo (mas hao de convir que excesso de anotacoes é irritante).

Passei a usar anotacoes pq peguei um sistema legado que era assim. É realmente bem mais produtivo. Mas ha alguns casos que nao consigo usar anotacoes e uso xml ainda.

Na verdade o NHibernate também está se livrando do XML, é só procurar por NHibernate Mapping Attributes ou Fluent NHibernate.

Em compensação o framework de ORM padrão do .NET (o ADO .NET Entity Framework) usa um XML muito pior que o do NHibernate, o pessoal só não chiou até agora por que o Visual Studio ajuda a editar.

De fato a grande quantidade de arquivos xml em alguns frameworks os torna anti produtivos.

Eu nao entendo muito de Struts, mas pelo que entendi ele serviu para abrir caminho para outros frameworks como o vRaptor (que e muito bom diga-se de passagem). Quanto ao JSF também é muito bom, mas prefiro o vRaptor. O vRaptor é mais enxuto e como o proprio nome sugere, é muito produtivo (até mais que jsf se você não tiver que trabalhar com vews muito complexas).

O fluxo de trabalho com JSF é confuso demais para iniciantes, na verdade é outro paradigma totalmente diferente. É bem mais complicado aprender JSF que Vraptor ou Struts. É como se um programador de linguagem procedural estivesse tentando aprender oo, no começo é um parto, mas depois que se acostuma não deixa a oo de jeito nenhum:wink:! Eu tenho trabalhado com JSF a pouco tempo, e ainda não me sinto confortavel com ele, já o Vraptor, em uma tarde de estudo, pude entender muito claramente a forma do framework trabalhar. A sacada de usar convenção é muito boa!!! Torna o desenvolvimento bastante produtivo pois você não tem que ficar configurardo XMLs e o fluxo de trabalho do framework é muito intuitivo.

O JSF é um framework que torna a aplicação mais pesada por causa dos componentes que ele renderiza. Mas por outro lado, os componentes do jsf são demais!!! Acredito que eles sejam a grande sacada do JSF, eles dão uma ajuda excepcional.

Em fim, se você tiver que desenvolver um projeto em que você terá a necessidade de usar muito ajax, componentes javascript complexos,… É JSF na cabeça! Mas se o seu projeto não necessitar de vews complexas, usar JSF nesses casos é dá um tiro no pé, pois em alguns aspectos, é bem mais chato trabalhar com JSF.

Nunca utilizei esse VRaptor que tantos citaram, até vou dar uma pesquisada sobre ele. O JSF acho bem legal. O struts eu nunca iniciei nenhuma aplicação com, só dei manutenção, então não posso falar muito dele. Mas vejo que ele tem perdido muito espaço mesmo.