Estou desenvolvendo um projeto como TCC, com foco em um estudo comparativo entre os frameworks da segundo geração de frameworks web. Já foram feitos alguns trabalhos anteriormente sobre o assunto porém visando apenas os frameworks da primeira geração.
Penso em realizar o trabalho em torno dos frameworks: vRaptor, Tapestry, Struts2 (Webwork), Shale, JSF, Mentawai e SpringMvc.
Estou desenvolvendo os critérios para avaliação e comparação, visando sempre apresentar as vatagens e desenvatagens de cada framework em determinado contexto.
Vocês conhecem acham que seria interessante avaliar algum outro framework mais? Qual?
Gostaria de contar com a ajudar e sugetão de vocês.
Troque o Tapestry que é difícil de aprender pelo wicket. E veja o que o AppFuse faz pois foi feito para comparar frameworks.
De qualquer forma acho um trabalho ambicioso demais para um TCC. Cuidado para não se perder. Se fosse eu escolhia só uns poucos e fazia a comparação. Por exemplo: vRaptor x Mentawai x webwork. E depois se sobrasse tempo ia incluindo um a um na comparação.
Recomendo que você leia a dissertação de mestrado de um amigo meu, Celso Gomes Barreto, que desenvolveu uma arquitetura para o projeto AulaNet3. Ele fez uma comparação bem legal entre vários frameworks, usando técnicas bem interessantes.
A dissertação está disponível em http://groupware.les.inf.puc-rio.br, na parte de publicações. Pode servir como base pra você estruturar a sua pesquisa, mas cuidado pra não se perder.
Obrigado! Com certeza vou precisar de muita ajuda!
Pessoal estou começando a desenvolver os critérios de avaliação e gostaria que vocês dessem uma opniçao, mas ainda é apenas um esboço, nada definitivo:
Validação: Mecanismos que facilitam a validação e a verificação da integridade dos dados informados por um usuário em um formulário.
Solicitação Duplicada: O problema das solicitações duplicadas (duplicate posts) é um problema típico em ambientes web, acontece quando o usuário por algum motivo não aguarda até que sua solicitação (realizada através do navegador) seja atendida e realiza uma nova solicitação, o que geralmente ocasiona na execução repetida de uma mesma rotina, que em alguns casos pode gerar problemas. Será avaliada a existência e eficiência de mecanismos para evitar solicitações duplicadas.
Integração: A Integração com outros frameworks que suportam funcionalidades adicionais é de grande importância, serão verificadas as possibilidades de integração suas vantagens, e de que forma isso poderia ajudar no processo de desenvolvimento.
Extensão: Em alguns casos se torna necessário o desenvolvimento de extensões para completar o framework de alguma maneira, resolver um problema específico ou mecanismos facilitadores para resolver problemas comuns a todo o contexto da aplicação.
Internacionalização (i18n): Será avaliado o suporte a internacionalização, o suporte ao desenvolvimento de aplicações com suporte a vários idiomas, quais são os meios e mecanismos de se obter as mensagens na camada de controle e de visão.
Empregos: Realizar-se-á uma pesquisa em agências de emprego virtuais nacionais e internacionais para verificar o quando o conhecimento de cada framework pode contribuir para integrar um desenvolver ao mercado de trabalho e quais frameworks possuem mais ou menos procura por parte das empresas.
Bijeção: Recurso estendido da Inversão de Controle, que faz com que a injeção se aplique em dois sentidos.[NASCIMENTO; RUIZ, 2006]. Serão avaliados os recursos que o framework prove para Injeção e Ejeção de Dependências.
Gerenciamento do Ciclo de vida: Realizar-se-á um estudo em torno dos contextos que o framework apresenta e o de que forma o framework assiste o gerenciamento do ciclo de vida dos objetos em cada contexto.
Teste Unitários: …
Ferramentas: Será avaliado se o framework possui algum tipo de ferramenta, ou plugin, que pode ser utilizado junto a um ambiente de desenvolvimento (IDE) para facilitar o processo de codifica.
Memory Leek
Configuração :Será avaliado o grau de facilidade em configurar o framework, se são aplicados conceitos de CoC (Convetion over Configuration) para diminuir a quantidade de configuração.
Tem algum mais, que achariam interessante?
Ou algum desnecessário?
Gostei muito da idéia do TCC
Como o luca disse não tente colocar todos os frameworks, coloca apenas os mais utilizados/populares.
Depois de terminar ele, tenta colocar o arquivo aqui no fórum (acho que seria pedir de mais!) ou cria um web site com os resultados obtidos, pois esse tipo de trabalho é muito importante para todos!!
Claro, com certeza!
Gostaria de poder utilizar este tópico durante todo o processo de desenvolvimento do trabalho, e contar com o apoio de vocês. Sem dúvida, a monografia com os resultados será disponibilizada para acesso de todos. Mais uma vez agradeço a todos.