Apesar do padrão de arquitetura MVC já existir desde a época do Smalltalk, só usufruímos de fato de seus benefícios há alguns anos. Como o padrão foi criado para uma das primeiras linguagens orientadas a objetos, a comunidade JAVA apostou na idéia e logo surgiram diversos framework’s.
O Struts é o mais popular framework MVC, sendo utilizado na maioria dos projetos WEB. O Struts representou uma grande melhoria na forma de integração entre as camadas de MODELO, VISÃO e CONTROLE. O que parecia ser uma solução para facilitar o desenvolvimento, se mostrou muito improdutivo. Sua improdutividade era decorrente da necessidade de se criar muitas classes e configurar complicados arquivos no formato XML.
Com o passar do tempo, a evolução do framework e do próprio JAVA foi inevitável. Para chegar a versão 2 o Struts uniu-se ao Webwork, outro conhecido framework. A evolução também veios em outros projetos como a especificação JSF, Open Laszlo, ThinWire, etc…
Pessoalmente, nunca gostei do Struts! Mesmo tendo IDE’s para apoiar a adoção do framework, sempre achei muito trabalhoso e pouco simples. Foi tentando manter o padrão MVC, mas sem utilizar o Struts que conheci o VRaptor.
Escrito pelo Brasileiro Guilherme de Azevedo Silveira o VRaptor é um framework MVC que utiliza recursos do JAVA 1.5 para fornecer eficiência e produtividade ao desenvolvedor. Utilizar o VRaptor para criar aplicações MVC é bastante simples, tornando a curva de aprendizado muito pequena.
O que mais atrai no framework é a facilidade para construir Actions fazendo uso das notações e o conceito de convenção ao invés de configuração (difundido pelo Ruby on Rails). Os recursos disponíveis no VRaptor permitem escrever programas utilizando MVC sem a necessidade de conhecer outras API’s como a Servlet. Para demonstrar isto vamos ver como seria uma Action escrita em Struts:

Além de todo este código, leve em consideração a criação do ActionForm e as configurações no struts-config.xml. Agora vejamos como ficaria esta mesma Action no VRaptor:

Observer que a classe é simples e manipula objetos conhecidos (não é preciso estender nada). Além de toda simplicidade, não é preciso criar ActionForms e nem configurar nenhum arquivo XML (Se você seguir a convenção é claro). Depois disto é só escrever o arquivo cliente\adicionar.sucesso.jsp e utilizar as TAGLIBS ou TAGFILES de sua preferência.
Utilizar o padrão de arquitetura MVC garante segurança para possíveis problemas que podem ocorrer na camadas de apresentação caso utilize outras tecnologias como: JSF, Laszlo ou Thinwire, pois estamos em contato direto com o código HTML. O ponto negativo é a baixa produtividade gerada por um processo que exige mais trabalho de codificar a VIEW em arquivos JSP com TAGS Java e HTML.
Grande Abraço,
Igor Takenami





















Ola Igor tudo bem? Parabens pelo post…
Sobre a equipe do vraptor, somos mais de um… vale a pena dar créditos a todos, que ajudam muito em várias coisas legais.
Sobre a parte de view, aguarde mais um mês que o vraptor trará algumas boas novidades, principalmente agora durante o javaone 2007.
Você viu o artigo sobre struts –> vraptor, certo? Agora estamos com a apostila do fj-28 online se for possível ajudar você…
http://www.caelum.com.br/caelum/curso-28.jsp
abraço
Ao contrario de Takenami, eu defendo o struts.
Mas esse tal VRaptor é bom demais pra ser verdade. Será que ele é tão flexível quanto o struts?!
Irei testar, mas parabéns pela divulgação de tal poder de desenvolvimento!
abraços
O VRaptor é meu framework mvc preferido…
Parabéns para toda a equipe…
Vou esperar ansioso as novidades que o Guilherme se referiu…