O artigo trata de ferramentas úteis no desenvolvimento de sistemas e de sua integração a um ambiente completo para este desenvolvimento, baseado na IDE. É o segundo artigo da série, abordando nesta parte as atividades de automação da construção (com Ant e Maven), gerenciamento de dependências (com Ivy e Maven) e testes unitários (com JUnit). Como parte central do ambiente de desenvolvimento são utilizadas as IDEs Eclipse e NetBeans.
Para que serve:
As ferramentas apresentadas servem para automatizar e facilitar as atividades de construção do projeto (compilação, testes, empacotamento, documentação, etc.), gerenciamento de dependências (frameworks e ferramentas existentes utilizadas pelo software que está sendo desenvolvido) e execução de testes unitários.
Em que situação o tema é útil:
O tema é útil para desenvolvedores em geral, em especial para aqueles com menos experiência e que ainda não conheçam as ferramentas apresentadas ou não utilizem um ambiente de desenvolvimento completo e integrado. Gerentes de projeto poderão também beneficiar-se do conteúdo do artigo para avaliar ferramentas que poderiam aumentar a produtividade de sua equipe.
Resumo DevMan:
Continuando a série sobre a configuração de um ambiente completo para desenvolvimento de software, apresentamos outras atividades comuns em um processo de desenvolvimento e ferramentas que facilitam ou automatizam sua execução, aumentando, assim, a produtividade do desenvolvedor. Começamos com a automação da construção, que consiste em integrar em um processo único tarefas como compilação, empacotamento, testes, implantação, etc. Para este fim, são apresentados o Ant (Figuras 1 e 2, Listagem 1) e o Maven (Figuras 3 e 4). Em seguida, descrevemos uma atividade bastante relacionada à construção automatizada: o gerenciamento de dependências de um projeto. O Maven aparece novamente como ferramenta pra este fim (Figuras 5 a 7), enquanto para os que preferem o Ant é preciso integrar uma ferramenta externa, o Ivy (Listagens 2 e 3). Por fim, abordamos a atividade de testes unitários, para a qual comumente, em projetos Java, se utiliza o framework JUnit (Listagens 4 a 9, Figuras 8 e 9).
Esta é a segunda parte de uma série de artigos sobre a construção de um ambiente completo para desenvolvimento de software. Na primeira parte, publicada na edição 92 de Java Magazine, foram abordados a IDE (peça central da maioria dos ambientes de desenvolvimento), o servidor Web ou de aplicação (para implantar e testar aplicações Web ou corporativas), o servidor de banco de dados relacional (grande parte dos sistemas de informação atualmente utiliza-o para persistência de objetos) e uma ferramenta para gerenciamento das bases de dados.
Para a continuação desta série, há ainda uma extensa gama de ferramentas que podem ser integradas a este ambiente de desenvolvimento, trazendo benefícios diversos aos desenvolvedores. Já citamos muitas delas no primeiro artigo da série, como por exemplo: ferramentas de construção (build), gerenciamento de dependências, testes unitários, controle de versão, gerenciamento de falhas (bugs) e novas funcionalidades, análise de desempenho, integração contínua, etc.
O foco deste artigo será nas seguintes atividades/ferramentas:
- Automação da construção: permite automatizar tarefas relativas à construção (build) da aplicação, como compilação, empacotamento, geração de documentação, etc. Serão abordadas as ferramentas Maven e Ant;
- Gerenciamento de dependências: controla as dependências de um projeto, no caso do mesmo requerer diversos frameworks, que possivelmente por sua vez dependem de outros frameworks, formando uma cadeia de dependências complexa. Maven e Ivy são as ferramentas citadas para esta atividade;
- Testes unitários: consiste na elaboração de testes específicos para cada método da aplicação e sua integração ao processo de construção automatizada do sistema. A presença de testes unitários pode auxiliar o desenvolvedor a descobrir mais rapidamente quando uma alteração no sistema adicionou uma falha em módulos que já foram testados. O foco aqui será o framework JUnit.
O projeto EngeSoft, iniciado na primeira parte da série, continuará a ser utilizado nos exemplos deste artigo. Quando for mais conveniente, projetos de teste poderão ser criados somente para demonstrar determinadas abordagens. Também continuarão a ser usadas as IDEs Eclipse 3.6 (Helios) e NetBeans 7.0.
Automação da construção (build automation)
Em projetos de desenvolvimento de software de médio e grande porte é muito comum automatizar uma série de atividades relativas à construção (build) da aplicação, como por exemplo:
- Compilação do código-fonte;
- Empacotamento das classes compiladas;
- Execução de testes unitários;
- Implantação no servidor (no caso de aplicações distribuídas);
- Geração de documentação;
- Etc.
Uma das primeiras ferramentas deste tipo a ser amplamente utilizada foi o Make, criado em 1977 para automatizar a compilação de arquivos de código-fonte em arquivos objeto e a subsequente ligação de vários arquivos objeto (módulos do sistema) em um único executável. O Make foi desenvolvido para o Unix e até hoje versões modernas da ferramenta são utilizadas em sistemas Unix e Linux, tendo crescido em versatilidade. Hoje o mesmo é utilizado não só para compilação, mas para as mais variadas tarefas, como acessar repositório de controle de versão, instalar/desinstalar o programa compilado no sistema, etc.
No entanto, atualmente as duas ferramentas de automação da construção de projetos Java mais utilizadas são o Ant e o Maven (veja Links), ambos desenvolvidos pela fundação Apache. De maneira bastante resumida, pode-se dizer que o Ant é bem similar ao Make, porém portável entre diferentes plataformas e com a configuração do processo de construção via XML. O Maven vai além e provê diversas outras funcionalidades (dentre elas destaca-se o gerenciamento de dependências, sobre o qual falaremos em seguida), definindo-se como uma “ferramenta de gerenciamento e compreensão de projetos”.
...Confira outros conteúdos:
Introdução ao JDBC
Novidades do Java
Teste unitário com JUnit
Black November
Desconto exclusivo para as primeiras 200 matrículas!
Pagamento anual
12x no cartão
De: R$ 69,00
Por: R$ 54,90
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- 12 meses de acesso
Pagamento recorrente
Cobrado mensalmente no cartão
De: R$ 79,00
Por: R$ 54,90 /mês
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- Fidelidade de 12 meses
- Não compromete o limite do seu cartão
<Perguntas frequentes>
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.