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?
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.
Pois é, Luca. Mas neste caso super ultra particular essas pessoas serão sempre estudantes, que indepente do framework escolhido, provavelmente terão que aprender do zero.
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
algumas partes deles são inter dependentes, por exemplo, o suporte aos frameworks orm, dependem da parte de DAOs
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.
<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.
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
[off]
Se alguem puder me indicar qual dos outrso frameworks seria interessante aprender depois do WW fico grato.
[/off]
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! 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.
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:
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.
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
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
<!-- This needs to be after Spring ContextLoaderListener -->
<listener>
<listener-class>com.opensymphony.xwork.spring.SpringObjectFactoryListener</listener-class>
</listener>
se acharem que 4 linhas é demais da para tirar o comentario
[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
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
<!-- This needs to be after Spring ContextLoaderListener -->
<listener>
<listener-class>com.opensymphony.xwork.spring.SpringObjectFactoryListener</listener-class>
</listener>
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?