Vantagens do VRaptor
maio 12, 2007 às 11:39 am | Publicado em Java, JEE | 14 ComentáriosAssim como o struts e companhia, o VRaptor é um controlador MVC para web, ou seja, mais um framework para auxiliar o desenvolvedor a usar MVC em suas aplicações. Mas o que faz com que o VRaptor venha conquistando tantos usuários? Vou relatar algumas características interessantes e que fez com que eu escolhesse o VRaptor como o meu controlador MVC preferido.
Rápido aprendizado
Você não precisa se preocupar com treinamento da equipe. É muito simples trabalhar com o VRaptor. Posso garantir que 2 dias é o suficiente pra conhecer todo seu funcionamento.
Nada de HttpServletRequest, HttpServletResponse e HttpSession
O VRaptor tira do desenvolvedor a responsabilidade de trabalhar diretamente com as classes da API dos Servlets através de simples anotações.
Suponha que existe uma Action (que no VRaptor é Logic) que precisa passar um objeto Pessoa para ser mostrado em uma jsp.

- para inserir o objeto como um atributo na requisição basta a anotação @Out:
@Out
private Pessoa pessoa = new Pessoa();
- para inserir o objeto na sessão basta mudar o escopo na anotação @Out:
@Out(scope=ScopeType.SESSION)
private Pessoa pessoa = new Pessoa();
–
Da mesma forma existe a anotação @In para recuperar atributos dos escopos (requisição, sessão, aplicação e logic???).
Logic é um novo escopo para seus objetos. Um objeto neste escopo ficará disponível durante a lógica de negócios, ou seja, quando a requisição for direcionada para a JSP o objeto não estará mais acessível. Já precisei deste escopo usando o struts e adivinhem? com certeza tive que implementar tudo…rs
Pouquíssima configuração
O VRaptor trabalha por convenções o que diminui relativamente o número de configurações. Por exemplo, marcando uma classe com a anotação @Component, automaticamente todos os métodos públicos estarão disponíveis para serem acessados pela view.
A convenção também é aplicada nos redirecionamentos após a execução de um método na Action (Logic). Veja no exemplo acima, que o método não retorna nenhuma string ou objeto indicando para qual recurso a requisição deverá ser direcionada. O VRaptor irá direcionar para uma jsp com o padrão ‘/nomeComponente/nomeMetodo.ok.jsp’.
Vale ressaltar que se for necessário é possível customizar o funcionamento de uma forma bem simples.
A não existência de taglibs
Na minha opinião, um controlador mvc não deveria interferir na view. Sua responsabilidade é apenas controlar as requisições, direcionando-as para as classes responsáveis por tratá-las. Encher sua JSP com taglibs de frameworks MVC é muito perigoso e arriscado. Use um padrão (JSTL) e caso seja necessário crie as suas próprias.
O VRaptor não possui um pacote de taglib. Use expression language + JSTL e seja feliz….
———————-
Em breve colocarei mais exemplos e características do VRaptor. Espero convencer a todos a pelo menos baixar e testar este incrível framework.
Blog no WordPress.com. | Tema: Pool até Borja Fernandez.
Entradas e comentários feeds.