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

Uma resposta para “Experiências com Maven e Ant+Ivy …

  1. Parabéns pelo artigo, estou buscando uma alternativa ao Maven, pois não curto muito a dependência criado entre projeto e maven e compartilho da opinião sobre o plugin para Eclipse, deixa muito a desejar.

    Nos archtypes encontrados, sempre falta alguma configuração a se fazer no Eclipse, seja em build path, compiler, facets, isso acaba exigindo um bom tempo de estudo do problema.

    Estou iniciando meus testes com Ivy, espero sucesso, estou gostando por enquanto e mais uma vez, parabéns pelo post.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s