Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Explicação rápida sobre os MVCs sugeridos na aula

Oi, alguém pode dar uma explicação entre pró e contras (aplicabilidade) dos demais tipos MVC ditos na aula?

(Java) VRaptor Spring

(Ruby) Rails

(Python, acrescentei esse) Django

1 resposta
solução!

Oi Bernardo, tudo bem ?

No mundo Java temos uma série de frameworks MVC interessantes.

Entre eles Spring MVC, JSF, VRaptor, Struts entre outros.

Spring MVC: O líder do mercado hoje (bem na frente do próprio JSF, que faz parte da especificação Java EE). Projeto de longa data que nasceu integrado de maneira transparente com o Spring Framework (container de injeção de dependências muito utilizado no mundo java). Implementação MVC tradicional (baseada em ações e não manutenção de estado entre views) de muita qualidade. Tem uma separação clara e de facil entendimento em camadas, com muitas facilidades a mais providas, como módulos de validação, conversão, cache etc, tudo com muita transparência, facilidade de configuração e de escrita de código. Não a toa lidera como um dos principais frameworks do mercado.

JSF: Implementação MVC da especificação Java EE. Difere bastante do Spring MVC, VRaptor etc por ser baseado em componentes e na manutenção do estado das informações entre as interações da aplicação (MVC component based). É bem utilizado em aplicações que possuem views muito densas, onde não é interessante que cada interação desencadeie uma nova atualização de um grande conjunto de informações desnecessariamente (em geral sistemas admin, que se assemelham a ERPs em alguns aspectos, sistemas que se assemelham a programação desktop na web, etc). Tem como (talvez) ponto negativo um código um pouco burocrático e mais pesado em alguns aspectos.

VRaptor: Criado na USP, mantido hoje pela Caelum e diversos outros contribuidores é uma implementação MVC action based (assim como Spring MVC) que visa agilidade, baseado em uma série de convenções sobre estrutura de projeto, código e configuração básica.

Struts: Foi o pioneiro nesse mundo. Primeiro framework a prover uma servlet controladora genérica e reutilizável entre diversos projetos. Ainda usado em projetos (em sua maioria legados). Por ser o precursor deteve a maior parte do mercado, mas com o crescimento da linguagem perdeu espaço a partir da concorrência principalmente do Spring MVC que evoluiu alguns de seus conceitos com as novas possibilidades que o Java veio trazendo a cada nova versão.

Ambos tem suas peculiaridades sobre a implementação do padrão arquitetural MVC, seus pontos fracos e fortes em cada cenário, etc.

Deixo pro pessoal complementar com as soluções citadas no tópico que não estão no mundo Java =P e até mesmo sobre os frameworks abordados.

Espero ter ajudado. Abraço!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software