|
Serão listadas algumas ferramentas livres que
auxiliam no desenvolvimento de software. Essas ferramentas têm-se
destacado entre demais, pela facilidade de uso, documentação e
principalmente por resolver problemas do dia a dia do desenvolvedor.
Elas estão relacionas de acordo com o objetivo de cada uma. O ambiente
de desenvolvimento:
Desenvolvimento:
Eclipse:
É uma plataforma universal de desenvolvimento Java, completamente integrada. http://www.eclipse.org
NetBeans:
A NetBeans IDE é um ambiente de desenvolvimento -uma ferramenta pra
programadores, que permite a você escrever, compilar, debugar e
instalar programas. A IDE é completamente escrita em Java, mas pode
suportar qualquer linguegem de programação. Existem também um grande
número de módulos para extender a IDE NetBeans. A NetBeans IDE é um
produto livre, sem restrições de como ele pode ser usado. http://www.netbeans.org
CVS:
O Concurrent Version System é uma ferramenta de controle de versão, e
desenvolvimento colaborativo de software mais utilizado no mundo. http://codigolivre.org.br/cvs
Ant:
A Apache Ant é uma ferramenta utilizada para construir, montar a
aplicação, de forma a tornar mais simples o trabalho do desenvolvedor,
quando este for compilar, executar, testar, entre outras
funcionalidades, sua aplicação. http://ant.apache.org
Persistência dos dados:
MySQL:
MySQL, o mais popular sistema de gerenciamento de banco de dados SQL
Open Source, é desenvolvido, distribuído e tem suporte da MySQL AB. A
MySQL AB é uma empresa comercial, fundada pelos desenvolvedores do
MySQL, cujos negócios é fornecer serviços relacionados ao sistema de
gerenciamento de banco de dados MySQL. http://www.mysql.com
PostgreSQL:
O PostgreSQL é um sistema de gerenciamento de banco de dados objeto
relacional (SGBDOR). O PostgreSQL oferece recursos adicionais pela
incorporação dos conceitos de herança, tipos de dado e funções,
tornando possível os usuários estenderem o sistema facilmente. http://www.postgresql.org.br
Hibernate:
É uma camada de persistência objeto /relacional de alta performance e
com serviços de consultas para Java. Hibernate permite ao desenvolver
objetos persistentes seguindo o idioma Java comum, incluindo
associação, herança, polimorfismo, composição e coleções Java. A
linguagem de consulta do Hibernate é uma extensão mínima de orientação
a objeto em relação a SQL, promovendo assim uma ponte elegante entre os
mundo objeto e relacional. O Hibernate é a solução ORM (Object
Relational Model) mais popular para Java. http://www.hibernate.org
Torque:
O Torque é uma camada de persistência. Ele inclui um gerador de código
para gerar todos os recursos do banco de dados, requeridos pela sua
aplicação e inclui um ambiente em tempo de execução para executar as
classes geradas. http://db.apache.org/torque
Desenvolvimento para aplicações Web:
TomCat:
O TomCat é um contâiner de servlet, qual é usado na implementação
oficial das tecnologias JavaServlet e JavaServerPages, ambas
especificações são desenvolvidas pela Sun sob o Java Community Process.
http://jakarta.apache.org/tomcat/
Spring:
Spring é uma camada de aplicação Java /J2EE, sem fazer uso de EJB. http://www.springframework.org/
Java Server Faces (JSF):
Java Server Faces é uma especificação recentemente liberada, para
projeto de interfaces web, que fornece um ciclo de processamento de
requisições bem definido e uma rica hierarquia de componentes. http://java.sun.com/j2ee/javaserverfaces/index.jsp
Tapestry:
É um framework totalmente java , qual reconceitualiza o desenvolvimento
de aplicações web em termos de objetos, métodos e propriedades
instanciadas de URLs e parâmetros de consultas. Tapestry é uma
alternativa a ambientes de scripts, tais como JavaServer Pages ou
Velocity. Tapestry provê um framework completo para criação de
aplicações extremante dinâmico com a mínima quantidade de código. http://jakarta.apache.org/tapestry/
Turbine:
Turbine é um framework que permite desenvolvedores Java experientes
rapidamente construírem aplicações web segura. Turbine é uma excelente
escolha para o desenvolvimento de aplicações que fazem uso de uma
arquitetura orientada a serviços. Qualquer das funcionalidades providas
com Turbine inclui um sistema de gerenciamento de segurança, serviço de
escalonamento, servidor de validação XML e um serviço XML-RPC para web
services. Isto é uma simples tarefa para criar um novo serviço em
particular para sua aplicação. http://jakarta.apache.org/turbine/
Struts:
O núcleo do framework Struts é uma camada flexível de controle, baseada
no padrão de tecnologias como Java Servlets, JavaBeans,
ResourceBundles, e XML, assim como vários pacotes da Jakarta. O Struts
apóia a arquitetura da aplicação baseada no Model 2, uma variação do
paradigma clássico Model-View-Controller (MVC). http://struts.apache.org/
JBoss:
JBoss é um middleware avançado. Apresenta uma arquitetura orientada a
serviços altamente flexível sobre o qual constrói seus próprios
produtos. http://www.jboss.org
Integração Contínua:
Gump:
Gump é uma ferramenta de integração contínua. Ele monta e compila o
software de encontro às versões anteriores do desenvolvimento do
projeto. Isto permite que o Gump detecte mudanças potencialmente
incompatíveis a esse software apenas algumas horas depois que aquelas
mudanças são verificadas no sistema de controle da versão. http://gump.apache.org/
AntHill:
AntHill é uma ferramenta que assegure um processo controlado da
configuração e promova compartilhar do conhecimento dentro de uma
organização. Anthill executa uma verificação geral do repositório da
fonte da versão a mais atrasada de um projeto antes de cada
configuração e etiqueta o repositório com um número original da
configuração após cada configuração. http://www.urbancode.com/projects/anthill/default.jsp
Cruise Control:
Cruise Control é um framework para o processo de build continuo. Ele
inclui, mas não é limitado a, plugins para notificação de email, Ant, e
várias outras ferramentas para controle de código. Provê uma interface
web para visualizar os detalhes dos builds correntes e anteriores. http://cruisecontrol.sourceforge.net/
Desenvolvimento de Testes:
Cactus:
Cactus é um simples framework de teste para testar Servlets, EJBs, Tag
Libs, Filters, .... A intenção do Cactus é baixar o custo de escrever
testes para tecnologias Web. Ele é uma extenção do JUnit. http://jakarta.apache.org/cactus/index.html
JUnit:
JUnit é um framework de teste de regressão escrito por Erich Gamma e
Kent Beck. Ele é usado pelo desenvolvedor quem implementa teste de
unidades em Java. http://www.junit.org
Canoo Web Test:
Canoo Web Test é uma ferramenta open-source para automatizar testes de
aplicações web. Ele invoca as páginas web e verifica o resultado,
reportando sucesso ou falha. http://webtest.canoo.com
JMeter:
Apache JMeter é uma aplicação de desktop 100% Java, designada para carregar os testes funcionais e medir a performance. http://jakarta.apache.org/jmeter/
JWebUnit:
JWebUnit é um framework java qual facilita a criação de testes de aceitação para aplicações web. http://jwebunit.sourceforge.net
JMock:
jMock é uma biblioteca para testar código Java usando mock objects. O
pacote jMock: o é rápido e simples de definir os mock objects, então
não quebra o ritmo da programação; o é simples de estender. http://jmock.codehaus.org/
XMLUnit:
XMLUnit para java provê a extensão de duas classes JUnit, , XMLAssert e
XMLTestCase e um conjunto de classes de suporte (por exemplo: Diff,
DetailedDiff, Transform, SimpleXpathEngine, Validator, NodeTest) que
permite serem feitas as assertivas abaixo:
- As diferenças entre duas partes de XML;
- A validade de uma parte do XML;
- A evolução de uma expressão XPath sobre uma parte do XML.
http://xmlunit.sourceforge.net
Gerência do desenvolvimento:
XPlanner:
XPlanner é uma ferramenta web para planejar e acompanhar de forma ágil o time de desenvolvimento. http://www.xplanner.org/
Maven:
Maven é uma ferramenta para gerenciar um projeto Java e compreender o
projeto. O Maven é baseado sobre o conceito de um modelo objeto de
projeto (POM), no qual todos os artefatos produzidos pelo Maven são
resultados de uma consulta a um modelo bem definido ao seu projeto.
Mosta o projeto, documenta-o e produz métricas sobre o código. http://maven.apache.org/
BugZilla:
É uma ferramenta baseada em Web e email que dá suporte ao
acompanhamento de defeitos. https://sourceforge.net/projects/bugzilla-br
|