Para este caso, WebWork ou VRaptor ou Spring?

Ou devo dizer CV e Smota versus Paulo Silveira versus Urubatan? :lol:

Para construir um site simples com pouco mais que um cadastro, notícias e faqs, mas cuja manutenção deva ser frenquentemente passada para outras pessoas, qual dessas frameworks seria a mais recomendada?

Olá

Só por este requisito:[quote=“Vinci”]…cuja manutenção deva ser frequentemente passada para outras pessoas…[/quote]

Recomendo Struts.

Não sou fã do Struts mas tenho que reconhecer que atualmente é muito mais fácil achar profissionais no mercado que conheçam Struts do que WebWork, Spring, JSF ou VRaptor.

O pior é que os caras conhecem muito de Struts e quase nada de Servlets e RequestDispatchers. Fazem a coisa por receita de bolo. Quem conhece Servlets e suas especificações migra de um framework para outro com facilidade.

[]s
Luca

Pois é, Luca. Mas neste caso super ultra particular :slight_smile: essas pessoas serão sempre estudantes, que indepente do framework escolhido, provavelmente terão que aprender do zero.

E aí?

vraptor eh o mais simples entre eles, mas nao tem versao 1.0 e nao tem todos os recursos que os outros tem

pra mim o spring eh “over featured”. faz coisa demais.

webwork ta ficando cada vez melhor, mas tem coisa que eu ainda nao acho interessante, como as tags do webwork pra velocity (pois o designer realmente nao vai entender aquilo) e os conversores ognl que sao TooMuchMagic. alem disso, o modelo de interceptacao do webwork deixa a desejar quando voce precisa executar algo depois de que o template velocity foi renderizado. o vraptor tem uma solucao interessante pra isso, que eh um pointcut afterViewRendering

o spring pode ter features demais, mas tu não precisa utilizar todas.

por exemplo, eu posso utilizar no DynAOP a parte de transações declarativas do spring, e eu coloco apenas o jar respectivo.

o core do spring é um container IoC, todo o resto é plugavel.

eu posso pegar jar por jar se quiser, (spring-dao.jar, spring-orm.jar, …)
ou então pegar o spring.jar que tem tudo junto, mas não sou obrigado a utilizar nada deles :slight_smile:

algumas partes deles são inter dependentes, por exemplo, o suporte aos frameworks orm, dependem da parte de DAOs

Olá

Mesmo neste caso não descarto o Struts da lista pelo número de ferramentas disponíveis.

Partindo do pressuposto que nem mesmo o lider do projeto conhece algum dos frameworks e que todos conhecem bem Servlets, sugiro que a equipe se subdivida e cada um estude um dos frameworks (inclusive o JSF). Lembro que há muitos anos atrás passei por uma situação destas e escolhemos a solução mais adequada à equipe a partir do estudo de cada um.

[]s
Luca

por isso que vou assistir sua palestra no JustJava!

<tpm>
Minha resposta sincera? Pare de surtar sobre qual o framework MVC voce vai usar, e o que voce vai colocar no WEB-INF/lib, E ESCREVA CODIGO UTIL!
</tpm>

O WebWork 2.1 tem muita, mas muuuuuita coisa maneira pra se ver, mas nao tao organizado quando o Spring, e nao te ganha tantos pontos “pop” como o VRaptor. Por enquanto, eu fico com o WebWork+NanoContainer, mas o Spring tambem esta muito legal.

Olá,

Bom vou dar um pitaco aqui…não conheço, Spring nem VRaptor, já mexi com Struts algumas vezes, nada demais.

Comecei com WebWork faz pouco e sinceramente, me surpreendi com a facilidade de aprender ele. Ainda mais pra quem tem conhecimento de Servlets e JSP. Não usei ele com Velocity ainda, mas pretendo fazer logo.

Não sei qual é a razão de aprendizado dos outros frameworks sitados, mas posso afirmar que do WW é muito rapido. Pelo menos foi comigo :slight_smile:

[off]
Se alguem puder me indicar qual dos outrso frameworks seria interessante aprender depois do WW fico grato.
[/off]

]['s

Luca, sinceramente, depois do artigo sobre WebWork do CV na Mundo Java (quero meu caché!), eu não tenho mais encanto pelo struts. Muita, muita gente usa o IE. Nem por isso largo o meu Firefox! Talvez eu até esteja sendo radical… :?

Por falar em radical, Sr. CV Xispiita! :smiley: Enquanto os requisitos estão sendo definidos, equipe ainda em formação, etc. estou tenho o luxo de pensar um pouco mais antes de decidir quais ferramentas usar. :wink:

O VRaptor tem recursos limitados. Mas a curva de aprendizagem é uma piada. Como neste caso, a escabilidade não é o fator mais gordo, o predador acabou ganhado. Acho que toda ferramenta deveria vir com aqueles tutoriais de um minuto e cinco minutos tais como o PicoContainer.

Obs: xispiita, fator gordo, predator. Sabe-se lá de onde eu estou tirando isso. :lol:

Olá

Que fique bem claro que nem de longe sou fã do struts, muito pelo contrário e só agora estou deminstrando isto.

Mas no caso de dispor de mão de obra barata para fazer uma pesquisa comparativa desta, acharia seu resultado incompleto se não incluísse o framework mais usado no momento.

Escolher framework depende de muitos motivos. Esquecendo todos os motivos racionais e lógicos e usando apenas minha simpatia pessoal, eu escolheria o Spring. Aliás estou até importando o último livro do Rod Johnson.

[]s
Luca

eu até entendi o que você quis dizer com isto, mas esta frase era realmente necessária??

:splat: :snipersmile: :2gunfire: :onfire:

mas como você disse, em um projeto de tamanho não muito pequeno, a escolha do framework precisa considerar diversos fatores,
não adianta ter superioridade tecnologica e não tem quem saiba utilizar
não adianta ser muito fácil e não suprir todas as necessidades do projeto, …

[quote=“fabgp2001”]
Se alguem puder me indicar qual dos outrso frameworks seria interessante aprender depois do WW fico grato.[/quote]

se você quer só MVC, sugiro em ordem de complexidade:
VRaptor - muito bom e simples
WebWork 2 - não sabia se colocava primeiro este ou o Spring, o MVC dos dois é muito fácil de utilizar, mas o WW2 veio primeiro pois mesmo a documentação do Spring sendo muito boa, hoje existem mais tutoriais e artigos para o WW
Spring - no geral mais completo destes, o framework MVC dele é muito bom, perde para o WW na minha opinião pela falta de Tags de UI para web, ja que as do WW2 são muito boas, até eu terminar a proxima release do Velotags (https://velotags.dev.java.net) a minha solução preferida é WebWork para o MVC e o spring pro resto, ja que a integração deles é maravilhosa :slight_smile:

pra vcs terem uma ideia, para integrar o WebWork 2 com a BeanFactory do spring (isto é, com qualquer coisa que tu plugar no spring exceto o MVC pois não iria fazer sentido nenhum, e ainda podendo controlar de uma maneira bem mais legal e completa o ciclo de vida dos objetos e interceptors do WW e podendo utilizar IoC tanto nas actions, como interceptors, quando daos, …)
basta colocar as seguintes linhas no web.xml

&lt;!-- This needs to be after Spring ContextLoaderListener --&gt; &lt;listener&gt; &lt;listener-class&gt;com.opensymphony.xwork.spring.SpringObjectFactoryListener&lt;/listener-class&gt; &lt;/listener&gt;

se acharem que 4 linhas é demais da para tirar o comentario :slight_smile:

Valeu pessoal. Acabei aprendendo mais do que simplesmente tirando minha dúvida. :slight_smile:

[quote=“urubatan”][quote=“fabgp2001”]
Se alguem puder me indicar qual dos outrso frameworks seria interessante aprender depois do WW fico grato.[/quote]

se você quer só MVC, sugiro em ordem de complexidade:
VRaptor - muito bom e simples
WebWork 2 - não sabia se colocava primeiro este ou o Spring, o MVC dos dois é muito fácil de utilizar, mas o WW2 veio primeiro pois mesmo a documentação do Spring sendo muito boa, hoje existem mais tutoriais e artigos para o WW
Spring - no geral mais completo destes, o framework MVC dele é muito bom, perde para o WW na minha opinião pela falta de Tags de UI para web, ja que as do WW2 são muito boas, até eu terminar a proxima release do Velotags (https://velotags.dev.java.net) a minha solução preferida é WebWork para o MVC e o spring pro resto, ja que a integração deles é maravilhosa :slight_smile:

pra vcs terem uma ideia, para integrar o WebWork 2 com a BeanFactory do spring (isto é, com qualquer coisa que tu plugar no spring exceto o MVC pois não iria fazer sentido nenhum, e ainda podendo controlar de uma maneira bem mais legal e completa o ciclo de vida dos objetos e interceptors do WW e podendo utilizar IoC tanto nas actions, como interceptors, quando daos, …)
basta colocar as seguintes linhas no web.xml

&lt;!-- This needs to be after Spring ContextLoaderListener --&gt; &lt;listener&gt; &lt;listener-class&gt;com.opensymphony.xwork.spring.SpringObjectFactoryListener&lt;/listener-class&gt; &lt;/listener&gt;

se acharem que 4 linhas é demais da para tirar o comentario :-)[/quote]

Urubatan, as tags UI do ww2 não poderiam ser facilmente desvinculadas do ww e usadas com outro framework?

Abs,

para falar a verdade, não muito facilmente :slight_smile:
mas o meu projeto (velotags) jo java.net ta fazendo exatamente isto :slight_smile:

e por falar nisto, to precisando de ajuda la, alguem se abilita?

[quote=“urubatan”]para falar a verdade, não muito facilmente :slight_smile:
mas o meu projeto (velotags) jo java.net ta fazendo exatamente isto :slight_smile:

e por falar nisto, to precisando de ajuda la, alguem se abilita?[/quote]

Assim que me liberar de tempo, se não se importar, gostaria de contribuir :wink:

Cya

a ajuda sera muito bem vinda :slight_smile: