Struts 2 tem um futuro promissor?

Boa noite pessoal. Gostaria de saber de vocês se o struts tem um futuro legal aí pela frente ou programadores que o utilizem só trabalharão com manutenções mesmo.

Digo isso porque ouvi esses dias que atualmente softwares novos não utilizam mais struts.

Obrigado.

Meu velho, sinceramente eu não apostaria minhas fichas no strtus, pois com o JSF (especificado pela sun) já se vê um movimento pela comunidade (me refiro as grandes empresas) em tornar o mesmo mais forte com o desenvolvimento de componentes em cima do mesmo e evolui-lo.

Não que o struts vá morrer, mais acredito que esteja chegando ao fim da salada de frutas de frameworks que vemos por ai.

minha humilde opinião.

O Struts 2 é radicalmente diferente do 1. Praticamente incompativel (na realidade, é o Webwork com outro nome).
Aqueles que esperavam do Struts 2 um avanço para o Struts 1, se viram de repente como os programadores de VB 6 quando o VB.net saiu. Tendo de reescrever tudo de novo.

Como seria o Struts 3?

Então começar um projeto novo hoje em dia com struts é furada mesmo? Vocês tem observado isto no mercado?

Rapaz, eu estou apostando no JSF, pois como padrão da linguagem tem muito mais espaço para crescer.

Eu não apostaria no Struts 2 devido ao seu histórico.

Acho Struts2 um framework muito bom, podendo ser integrado com o JSF na camada de visão. A migração dos softwares feitos em struts é muito tranquilo bastando fazer alguns ajuste e configurando os filtros e interceptos. E para isso não precisa ter treinamento de pessoal. É fácil fazer testes unitários. É flexivel e de fácil configuração, diminuiu o número de xml para se configurar, etc…
Digo isso pois participei de um projeto de migração numa empresa onde a arquitetura era compostas pelos frameworks struts, hibernate, tiles e outros mais e então resolveram atualizar a arquitetura e adotaram o struts2 como substituto do struts, foi um sucesso pela facilidade que este framework traz, muito flexivel e como disse logo acima, o JSF pode ser utilizado juntamente com o struts2 na camada de visão.

Vale sim investir no struts2 e se mais adiante resolverem migrar tudo para o JSF, só precisará alterar alguns poucos xml, pois seus pojos(.java) não serão alterados.

Uso struts 2 na minha empresa e concordo com o Cobracan. Ele possui uma arquitetura muito bonita e flexivel.
Como ja usei JSF tbm, posso compara-los: gosto mais da flexibilidade do struts 2 e de sua arquitetura em geral: acho mais simples.
O JSF é um framework baseado em componentes e isso ainda nao me agrada muito quando o assunto é desenvolvimento web.
Mas o JSF é infinitamente melhor quando o assunto é componentes visuais. Existem várias bibliotecas de 3os fornecenedo componentes ao faces. Diferente do struts.
De toda forma, na minha equipe, criamos os componentes que o struts 2 nao suporta ou simplesmente adaptamos algum que achamos na net. Por exemplo os do yahoo (YUI).

Enfim, sua pergunta foi se vale a pena apostar no struts 2. Acho q vale tanto a pena como apostar em qq um q nao seja JSF: Mentawaii, Tapestry, Wicket, etc. Nenhum deles é padronizado pela sun, diferente do JSF.

Minha opinião: a história mostra que um padrão está longe de garantir alguma coisa. Vide EJB.

Struts2 tem pouco XML mas muita anotação. É o famoso annotation-hell.

Para uma comparação entre Mentawai x Struts2 veja aqui:

http://forum.mentaframework.org/posts/list/1112.page

eu uso struts 2 sem nenhuma anotação…
uso muito pouco xml, pois existem os wildcards…
com um pequeno mapeamento no xml eu faço todos os cruds do meu sistema
cara, na boa, quando vc vai parar de tentar promover esse seu mentawaii a todo custo?

[quote=bbviana]eu uso struts 2 sem nenhuma anotação…
uso muito pouco xml, pois existem os wildcards…
com um pequeno mapeamento no xml eu faço todos os cruds do meu sistema
cara, na boa, quando vc vai parar de tentar promover esse seu mentawaii a todo custo?[/quote]

Apenas dei uma informação e coloquei um comparativo pra ele entender o que eu me refiro como annotation-hell. Como vc usa o Struts2 sem anotações? Como vc faz a validação sem anotações? Como vc mapeia a action sem anotação? Como vc injeta campos sem anotação? Como vc seta filtros sem anotação?

E o Mentawai não precisa de promoção porque já é uma realidade em muitos projetos e empresas. O framework já está na fase de fatos e resultados. Poucos frameworks são tão completos, flexíveis e ágeis como o Mentawai. Mesmo com várias pessoas tentando falar mal dele por trás com críticas sem pé nem cabeça. É difícil vencer ou mudar a liberdade e a opinião do mercado! :wink:

Até que ponto a crise que sun anda passando pode interferir no JSF ?

[quote=saoj][quote=bbviana]eu uso struts 2 sem nenhuma anotação…
uso muito pouco xml, pois existem os wildcards…
com um pequeno mapeamento no xml eu faço todos os cruds do meu sistema
cara, na boa, quando vc vai parar de tentar promover esse seu mentawaii a todo custo?[/quote]

Apenas dei uma informação e coloquei um comparativo pra ele entender o que eu me refiro como annotation-hell. Como vc usa o Struts2 sem anotações? Como vc faz a validação sem anotações? Como vc mapeia a action sem anotação? Como vc injeta campos sem anotação? Como vc seta filtros sem anotação?

E o Mentawai não precisa de promoção porque já é uma realidade em muitos projetos e empresas. O framework já está na fase de fatos e resultados. Poucos frameworks são tão completos, flexíveis e ágeis como o Mentawai. Mesmo com várias pessoas tentando falar mal dele por trás com críticas sem pé nem cabeça. É difícil vencer ou mudar a liberdade e a opinião do mercado! ;-)[/quote]

Nao precisa de promoçao, mas mesmo assim continua fazendo…
Nao vou nem responder a suas perguntas sobre struts 2, pois pelo visto vc mal o conhece mesmo.
Cara, eu nao falo do mentawai pq nunca o utilizei. Concordo que deve ser um bom framework mesmo, pois sempre vejo as pessoas falando bem. Mas vc poderia ser menos arrogante e deixar as proprias pessoas escolherem o seu framework. Sempre q tem uma discussao sobre framework web vc entra e coloca o mentawai em questao. Leia o titulo do topico. Era esse o assunto?

Tenho ressalvas quanto ao Struts2, apesar de achá-lo um bom framework pois ficou com as melhores idéias do WebWork. Apenas quiz expor minha opinião que o Struts2 pode se transformar num annotation-hell.

Agora fiquei curioso. Como vc utiliza Struts2 sem anotações? Taí sua chance de colaborar de forma produtiva…

Se fosse começar um projeto eu apostaria no struts 2 e não no jsf, minha experiencia com jsf para sistemas “não crud” não é das melhores.

Acho que a Sun já perdeu sua credibilidade em empurrar tecnologias, pelo menos pra mim.

Respondendo as perguntas do saoj de acordo com minha experiencia com struts 2:

Como vc usa o Struts2 sem anotações?
Xml para mapeamentos, action para execução de metodos.

Como vc faz a validação sem anotações?
Ajax, utilizando dwr :slight_smile:

Como vc mapeia a action sem anotação?
Da mesma maneira que usavamos no struts 1, utilizando o struts.xml.

Como vc injeta campos sem anotação?
Não injeto.

Como vc seta filtros sem anotação?
No mesmo xml.

Também não uso as tags do struts 2, prefiro utlizar jstl para facilitar a migração para qualquer framework no futuro, quem participou de migração de struts 1 para 2 sabe do que estou falando.

IMHO não se deve ser radical quanto à escolha de um framework web. Há centenas de frameworks: http://java-source.net/open-source/web-frameworks

Se houvesse uma bala de prata para resolver os problemas não haveria tantos frameworks. JSF e Struts 2 são 2 dos mais usados e portanto seriam boas escolhas. Porém, vc mesmo deve tirar suas próprias conclusões conhecendo-os, pois vc que irá trabalhar no seu projeto.

O padrão imposto pela Sun realmente não irá determinar o sucesso do JSF como já tivemos outros casos na história de padrões impostos pela empresa, mas com certeza está ajudando na popularização do framework.

Eu aconselho não se preocupar tanto com o mercado e mais com o problema a ser resolvido no seu projeto.

Abraço,

Tb acho. Não que a Sun seja ruim, mas não creio nos benefícios que uma especificação se propõe a gerar. O tiro quase sempre sai pela culatra. Padronizar uma tecnologia quase nunca é bom no final das contas. É uma falsa segurança em troca de muita liberdade. Já padronizar uma API (JDBC, JPA) eu acho válido.

Trocar annotation-hell por xml-hell não tem cara de ser um bom negócio.

Validação no server-side é igualmente importante e necessária.

Xml-hell.

Vc está abrindo mão de usar IoC? Claro que dá para fazer tudo sem IoC, mas acho que ninguém hoje em dia nega que IoC é uma boa prática. A vantagem do Mentawai é que ele já oferece um poderoso container de IoC e Auto-Wiring. Por essas e outras abstrações que ele é considerado um framework full-stack, ou seja, vc não precisa trazer dezenas de outros frameworks (Spring por exemplo) pra dentro do seu projeto.

:cry:

Nesse ponto eu discordo plenamente. Minha experiencia com JSTL + EL é a pior possível. Por ser um framework genérico para qualquer framework, ela possui diversas limitações e pentelhações. Já dá para chamar size() de uma collection via JSTL? E um método hasChildren, já dá para chamar? Se vc está preocupado em migrar a sua aplicação para outro framework, então tudo bem. Mas assim como banco de dados, uma aplicação só deve migrar de framework como última alternativa, também conhecida como desespero. Talvez os gerentes de projetos tenham achado que o Struts2 era a continuação natural do Struts1 e ordenaram a migração como quem pede um cafezinho, ou (defendendo eles) porque viram que Struts1 era ruim demais e partiram para o desespero.

Um framework pode ter várias tags flexíveis, poderosas e práticas, e isso só é possível se as tags forem integradas com o framework em questão.

Fiz um projeto utilizando JSTL + EL e outro utilizando as tags do Mentawai. Sinceramente JSTL + EL é um padrão de tags chato, limitado e ruim demais. Não dá para comparar…