Escolher uma framework MVC em Java
Hoje em dia, começa a ser difícil ver aplicações web que não tenham sido desenvolvidas sobre uma framework MVC (Model-View-Controller). Estas frameworks facilitam imenso o trabalho do programador pois tratam de toda a canalização (à falta de melhor palavra para plumbing) que liga as diferentes partes envolvidas: o acesso à BD, a apresentação em HTML, as validações dos pedidos HTTP, a gestão da sessão, a autenticação, etc.
Têm ainda uma virtude muito importante para projectos de alguma dimensão: obrigam os programadores a estruturarem convenientemente o seu código, não misturarem lógica de negócio com apresentação, etc.
Surge no entanto um problema. A proliferação destas frameworks é tal que se torna extremamente difícil escolher uma. Cada uma tem normalmente uma comunidade que a defende religiosamente, pelo que é difícil obter opiniões imparciais em forums e na blogoesfera em geral. Uma excepção importante é o blog do Matt Raible.

O Matt desenvolve há já alguns anos uma aplicação chamada AppFuse que basicamente é uma framework de frameworks MVC em Java. Eu sei que isto soa a esoterismo geek-o-narcisístico, mas a verdade é que o AppFuse parece ser bastante prático e está ser utilizado em imensos projectos. De qualquer forma, o mais importante para mim não é a ferramenta em si, mas o conhecimento que o Matt adquiriu na sua construção. Uma vez que o AppFuse permite usar as principais frameworks Java, desde o Struts até ao Tapestry passando pelo JSF, Spring, etc., o Matt está numa posição privilegiada para poder comentar as suas diferenças, vantagens e desvantagens. Ao contrário da maioria das pessoas que usou intensivamente apenas uma ou duas frameworks, ele usou intensivamente todas as principais.
Recentemente ele fez uma apresentação na ApacheCon com uma análise comparativa que me elucidou bastante. Gostei particularmente da parte final, em que ele dá alguns conselhos sobre como escolher. Esta é uma área em que é preciso ter muito cuidado para distinguir factos de propaganda. Nas suas palavras:
- Don’t believe the Hype
- Don’t believe blogs and articles
- Try it yourself
- Believe developers, not evangelists
- Believe developers that are experienced with the
framework and have used it in production - Beware of corporate interests – they can twist
marketing - Books are a good sign
Quando vejo esta lista, não sei porquê mas vem-me logo à cabeça Ruby On Rails…
Ainda sem comentários
Deixar uma resposta