Arquivo da tag: build

Experiências com Maven e Ant+Ivy …

Decididamente, fico com a combinação Ant+Ivy. Antes deixe-me expor o porquê  da escolha. Andei por umas semanas pesquisando e lendo em blogs opiniões de desenvolvedores experientes sobre essas ferramentas, e cheguei à uma conclusão: Eu mesmo terei que sentir a utilidade das duas no meu dia-a-dia. Bom, eu ainda não tinha usado o Maven à sério e fui atrás do livro Better Builds with Maven . Um tempo atrás eu li também um sobre Ant e, depois de empregrar ambos em projetos de porte e importância iguais e diferentes, formei uma opinião sobre isso.

Maven

Ao meu ver, Maven enxugou o Ant e acrescentou o que a comunidade sentia falta no Ant, o gerenciamento de todo o processo de desenvolvimento e não apenas o build. Eu sou adepto do Ant, mas assumo que há muito Ctrl+C e Ctrl+V quando se está escrevendo um build p/ projetos diferentes. Ou seja, todo projeto possui etapas semelhantes que levam deste a preparação do ambiente de desenvolvimento à implantação do sistema (deploy) seja em ambiente de produção ou testes. Além disso, o HD da máquina de um desenvolvedor Ant (sem Ivy) vai embora “rapidin”, pq vc acaba pegando o hábito de criar uma pasta “lib” na raiz do seu projeto ou sub-projetos e isso é redudante e torna-se estressante. O Maven gerencia todo o ciclo de desenvolvimento além das depenências do seu projeto, centralizando em um repositório todas as dependências de todos os seus projetos, isso é muito bacana. Bom, o que não me agradou muito foi a integração com o eclipse. EU não me agradei do plugin, achei-o muito simples. E outra coisa que não me agradou muito foi o POM . Eu já odeio XML, e p/ piorar a legibilidade do POM descrece à medida que seu projeto  cresce … Em projetos simples até que vai, mas vai inventar de usar ele p/ gerenciar um multi-projeto com sub-projetos que possuem as mesmas dependêcias, só que com versões diferentes e coloca tudo isso em um servidor de integração contínua …. Tudo bem que se vc for comparar com o equivalente em Ant, o Maven dá de pau quanto ao tamanho do arquivo, mas cabe aqui a frase de Einstein : ” Tudo deveria se tornar o mais simples possível, mas não simplificado”.

Ant+Ivy

Essa é a minha escolha. Com Ant eu esqueço o maldito paradigma declarativo e tenho a sensação de estar programando sobre uma plataforma imperativa. Você tem controle sobre todo o processo (embora é importante frisar que a intenção do Ant é o build, não o gerenciamento do seu projeto ) e se tiver experiência e for organizado seus scripts serão grandes completos, porém legíveis. O que faltava era um gerenciador de dependências, e o Ivy então ocupa essa lacuna. O ant integra-se com eclipse de forma completa e inteligente, embora o IvyDE (plugin do Ivy p/ o Eclipse) ainda tenha lá seus bugs …

Uma dica ….

Forme opinião, cada um tem seu modo de ver uma ferramenta, uma linguagem, um SO, mulheres, carros e a vida …. As ferramentas que citei tem vasta documentação da Web e a comunidade também é enorme, ambas em torno de cada ferramenta. E vc, Apache+Ivy ou Maven ????

Anúncios

1 comentário

Arquivado em Ant, Java, Maven