Estou fazendo um projeto usando o Velocity, porém o projeto (Velocity) parece meio morto, muitos materiais antigos, etc. Não cheguei a testar outras engines de templates, portanto não há como eu fazer uma comparação. Porém queria saber opinião de quem trabalhou com tais ferramentas, quais são as melhores para geração de código?
Apache Velocity, Freemarker ou outro?
5 Respostas
Para geração de código ambos são uma boa escolha. Velocity tem uma sintaxe mais fácil enquanto dizem que o freemarker é mais poderoso. Eu iria de velocity.
Qual é o src para a geração de código? É UML, são tabelas, DSL?
Opa Senna.
Estou o utilizando para gerar código Java e depois também JSP. Para facilitar a criação de códigos repetidos, na verdade, será um gerador de CRUD para os nossos projetos. Já está fazendo a entidade. A fonte é carregada de um XML modelo usado para descrever os campos e tabela, daí ele gera a classe entidade, e depois irei implementar a geração de classes modelos e JSP.
humm, entendi. Bom, entao no seu caso tanto freemarker como velocity é uma boa. Velocity tem uma sintaxe mais limpa. Então só pra confirmar, eu iria de velocity mesmo.
Opa Senna.Estou o utilizando para gerar código Java e depois também JSP. Para facilitar a criação de códigos repetidos, na verdade, será um gerador de CRUD para os nossos projetos. Já está fazendo a entidade. A fonte é carregada de um XML modelo usado para descrever os campos e tabela, daí ele gera a classe entidade, e depois irei implementar a geração de classes modelos e JSP.
SE a fonte é xml, XSLT seria uma boa opção. Melhor e mais padronizada que freemarker ou velocity. Entre estes dois eu escolheria o freemarker.
É nisso que eu estava pensando pessoal, o Freemarker é mais atual, parece que tem recursos melhores (ainda não o estudei e fiz exemplo profundos). Mas há algumas coisas irritantes no Velocity, como por exemplo, alguns caracteres como o quote (") não funciona, aí você tem que adicionar como se fosse uma variável via Java, de forma externa. As vezes ele não identifica meu código, sendo eu obrigado a criar um “set” para uma variável, onde eu poderia setar diretamente. Enfim, mas pelo menos é melhor do que nada.
Verei se consigo alterar para o Freemarker, mas infelizmente, não depende só de mim.
Abraços!