Arquivo de maio, 2007

MVC fácil com VRaptor

1 de maio de 2007   3 Comantários  Tags:

VRaptorApesar 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:

3.gif

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:

2.gif

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