Sempre me questionam qual o melhor framework MVC a ser adotado quando se começa um projeto do zero, dentre as tantas opções como Spring, Struts 2, VRaptor e etc.
Eu sei que tem q se levar em consideração a questão do gosto do programador também, mas em relação ao mercado:
Qual o mais utilizado?
Qual que tem maior probabilidade de se encontrar profissionais?
Creio que a resposta para as três perguntas seja Struts 2, porque ele já carrega o nome a muito tempo.
Mas não é por isso que acho ele o melhor, pessoalmente prefiro o VRaptor, acho que traz mais facilidades, tem a documentação do tamanho ideal, é bem fácil entrar em contato com o pessoal da Caelum, entre outras coisas.
Cada pergunta tem uma resposta.
Vou tentar explicar o pq.
1-) Hoje em dia o mais utilizado é o JSF. Antes era o Struts 1.x
2-) Tanto o JSF quanto o Struts 1.x tem muitos profissionais no mercado.
3-) Em questao de documentação o JSF tem bastante, mas creio q não ganha na quantidade de documentações do Struts 1.x
Enfim, vc pode ver q o JSF 1.2 e o Struts 1.x são os maiores no mercado ainda.
Em relação ao Struts 2.0, foi uma grande reformulação do Inicial e está em conjunto com o WebWork.
Ele não está tão aceito no mercado. Mas é um framework muito bom tbm!
Se olhar nas especificações o JSF é o indicado. Mas vejo projetos muuuito grandes serem iniciados com o Struts 1.x, porém cada vez mais ele está ficando pra trás, principalmente devido à seus sucessores e por novas tecnologias e maneiras de se fazer as coisas.
É claro q os dois q eu disse são os usados em aplicações de níveis críticos e funcionam com crtz !!
Outros podem ser usados, mas pq será, q em aplicações de nível crítico, só estes são usados ?!
Tem muita coisa pra se analizar.
Em relação ao VRaptor, é muuito bom, muito ágil e tals, mas na minha empresa só se usa Struts ou JSF. Não por gostar mais, ou outra coisa do tipo, mas por que vc tem a certeza que se fizer nele não vai ter problemas do lado do framework. Diferente de qualquer outro q não tem esta maturidade!
[quote=aluisiodsv]Outros podem ser usados, mas pq será, q em aplicações de nível crítico, só estes são usados ?!
Tem muita coisa pra se analizar.[/quote]
O problema é exatamente esse, por todo mundo (empresas, nem sempre as de melhor qualidade) achar que só existem pessoas que sabem JSF e Struts 1, elas continuam usando esses frameworks, pois podem achar mão de obra barata facilmente no mercado e não querem “perder” tempo aprendendo outras coisas mais avançadas, pois ai o nível dos profissionais sobre, e seus salários também.
Conversem com qualquer gestor de “fábrica de software” que ele vai repetir exatamente essas palavras.
Na minha opiniao Spring é perfeito pra maioria dos casos, o JSF conheço um pouco, mas ele ainda ta um pouco cru. O Struts não usaria de forma alguma me recuso a usar ele, me arrependi de ter estudado ele apesar de ele te me dado uma boa noção pra aprende os outros frameworks.
A documentação de todos são boas tem bastante coisas, eu acho qe só a do Vraptor qe eu só encontrei na caelum, mas já está bem melhor agora.
JSF -> Mt bom pra grandes aplicações, o ponto fraco é o fato de ser mt chato de qe criar as paginas pra qem nao tem mt tempo, e pra dar manutenção nem se fala. Vale a pena aprende, existe um bom mercado pra ele, entre outras coisas.
Spring-> Pra mim o melhor por enquanto pra qualquer tipo de aplicação, dividido em modulos se adapta pra qualquer solução.
Struts -> Só existe ainda por qe tem gente qe nao tem a menti aberta(sim, eu sei. Talvez to sendo mt ignorante) mas o fato é qe Struts hoje em dia só tem espaço pra da manutenção pra aplicações antigas, por qe não tem o por qe em sã consciencia alguem qere construir uma aplicação em Struts, com tantos frameworks melhores.
Realmente, existem coisas bacanas fora o struts e o JSF.
O mercado tende a utilizar as ferramentas, frameworks e etc… que já estão com o nome na midia a mais tempo.
Produtos de empresas de nome forte tem uma tendencia a ter maior credibilidade independente de serem bons ou ruins.
Gerentes / lideres de projetos morrem de medo de sugerir alguma coisa que não é utilizada pela maioria; boa parte das razões foram citadas pelo Luiz Aguiar.
[quote=aluisiodsv]Já vi gente reclamar de uma funcionalidade que o VRaptor não tinha.
O cara só ia conseguir fazer isso depois q alguém implementasse.
kkkkkkkkk …
Vai fazer isso em um sistema de banco …
Até vejo o cara falando q não dá pra fazer o q o cara quer …[/quote]
Por favor seja mais “produtivo” em seus posts… assim evita gerar flames de eu gosto desse e não gosto daquele.
Se eu fosse freelancer só desenvolveria em VRaptor ou JSF.
O que eu quero dizer é que apenas os TOPs são usados para aplicações críticas, como por exemplo o sistema que agente desenvolveu aqui para o TELETON do SBT.
Struts, EJB, SQLServer …
Não é sisteminha de doações não. Apesar de ter isso tbm, o sistema controla tudo, entre elas uma coisa q eu acho meio chato q são as predições, de certos horários de certas programações e tals.
Detalhe, apesar de tentar convencer o cliente de não usar o SQLServer, eles insistiram, e é horrível trabalhar com esse cara aí.
Discordo.
Struts, querendo ou não, é legado, e tem muita coisa para se dar manutenção por aí, não que seja bom.
E EJB isso é verdade para versão 2.1, a partir da 3.0 muita coisa mudou e melhorou.
Ou parte pra alguma linguagem dinâmica(Python/Django, Groovy/Grails) porque em alguns casos web em java é dispensável.
Mas como de praxe, qual framework ou qual tecnologia, depende muito do teu projeto.