Aqui jaz o Surf

Este blog deixou de ser mantido, mas o autor continua escrevendo aqui. Não deixe de assinar o novo feed!

surf_nomore.jpgÉ com muito pesar que eu decreto a morte definitiva (?!) do Surf, o framework que criei o ano passado como trabalho de conclusão de curso (TCC).

Lógico que isso não é exatamente uma coisa fácil de se dizer, afinal, apesar de não tê-lo conduzido da forma com que gostaria (TCC é complicado!), posso dizer que foi uma experiência sensacional e extremamente enriquecedora. Digo isso pois a gente acaba se desligando das tarefas rotineiras, cadastros e outras coisas chatas pra cacete para mergulhar em um negócio realmente complexo e desafiador.

Voltando a má notícia que encabeça este post. Pensei muito antes de fazer isso, mas creio que é o melhor a se fazer. Algumas razões que apóiam essa minha decisão:

  • Era uma cabeça só para planejar tudo, implementar e corrigir os problemas;
  • O tempo era bastante limitado, o que me fez sacrificar coisas extremamente importantes, como foco na documentação e testes de unidade;
  • Faltava um escopo bem definido sobre o que o framework deveria fazer e o que não deveria;
  • Qualquer alteração, por menor que fosse, trazia muitos riscos, pela razão da praticamente inexistência de testes;
  • O surgimento de boas notícias, como as JSR 295 e JSR 296 (Swing Application Framework e Beans Binding) apareceram um pouco depois de eu ter definido e implementado a arquitetura central do Surf, impossibilitando (ou dificultando muuuito) a integração com essas ferramentas que, sem dúvida, serão os carros-chefe de toda a evolução que o Swing sofrerá;
  • Falta de definição de uma estratégia para definir quais os frameworks que o Surf se integraria fez com que muito trampo fosse jogado fora sem necessidade;
  • O Surf veio de idéia de uma única pessoa: eu. Não faz sentido modelar um framework de acordo com as necessidades de uma única pessoa;

Existem outros motivos, os quais não me recordo no momento. Mas esses já justificam minha decisão.

Ainda estou pensando se vou montar um outro projeto ou não… mas, a idéia é criar ou contribuir em algo simples e interessante que, acima de tudo, esteja sintonizado nessas evoluções que o Java desktop está (ou estará) enfrentando. Se alguém tiver uma boa idéia, eu adoraria saber mais a respeito! Quem sabe não aparece uma idéia boa através dessa discussão? :D

Tags: , , ,