Esta página ou seção foi marcada para revisão devido a incoerências ou dados de confiabilidade duvidosa. Se tem algum conhecimento sobre o tema, por favor, verifique e melhore a coerência e o rigor deste artigo. Considere colocar uma explicação mais detalhada na discussão.(dezembro de 2017)
IDE, do inglês integrated development environment ou ambiente de desenvolvimento integrado, é um programa de computador que reúne características e ferramentas de apoio ao desenvolvimento de software com o objetivo de agilizar este processo.
Geralmente os IDEs facilitam a técnica de RAD (de Rapid Application Development, ou "Desenvolvimento Rápido de Aplicações"), que visa a maior produtividade dos desenvolvedores.
As características e ferramentas mais comuns encontradas nos IDEs são:
Editor - edita o código-fonte do programa escrito na(s) linguagem(ns) suportada(s) pela IDE;
Compilador (compiler) - compila o código-fonte do programa, editado em uma linguagem específica e a transforma em linguagem de máquina;
Depurador (debugger) - auxilia no processo de encontrar e corrigir defeitos no código-fonte do programa, na tentativa de aprimorar a qualidade de software;
Geração de código - característica mais explorada em Ferramentas CASE, a geração de código também é encontrada em IDEs, contudo com um escopo mais direcionado a templates de código comumente utilizados para solucionar problemas rotineiros. Todavia, em conjunto com ferramentas de modelagem, a geração pode gerar praticamente todo o código-fonte do programa com base no modelo proposto, tornando muito mais rápido o processo de desenvolvimento e distribuição do software;
Distribuição (deploy) - auxilia no processo de criação do instalador do software, ou outra forma de distribuição, seja discos ou via internet;
Testes Automatizados (automated tests) - realiza testes no software de forma automatizada, com base em scripts ou programas de testes previamente especificados, gerando um relatório, assim auxiliando na análise do impacto das alterações no código-fonte. Ferramentas deste tipo mais comuns no mercado são chamadas robôs de testes;
Refatoração (refactoring) - consiste na melhoria constante do código-fonte do software, seja na construção de código mais otimizado, mais limpo e/ou com melhor entendimento pelos envolvidos no desenvolvimento do software. A refatoração, em conjunto com os testes automatizados, é uma poderosa ferramenta no processo de erradicação de "bugs", tendo em vista que os testes "garantem" o mesmo comportamento externo do software ou da característica sendo reconstruída.
Benefícios
Usar uma IDE pode trazer diversos benefícios para as pessoas envolvidas no projeto, como os Stakeholders, programadores, empresas e clientes. O uso de uma IDE adequada pode aumentar a produtividade, diminuindo gastos e aumentando o desempenho. Com ela é possível medir resultados, fazer a verificação e correção de erros e integrar tecnologias.
Exemplos
Intellij IDEA- IDE da JetBrains para desenvolvimento em diversas linguagens, principalmente JAVA. Também fornece recursos para produtividade de desenvolvimento em tecnologias web como HTML5, AngularJS, NodeJS, GWT entre outros;
Android Studio - IDE oficial da Google para desenvolvimento na plataforma Android;
Arduino - IDE para microcontroladores linguagem wiring com bibliotecas em C.
Softwell Maker - Multi-linguagem e multi-banco, gerando aplicativos, documentação e funciona integrando BPM;
Delphi - Trabalha originalmente com a linguagem Object Pascal / Pascal, agregando na suite Delphi Studio 2005, a linguagem C# e a extensão da Object Pascal para .NET;
Lazarus- Uma alternativa gratuita e de código livre (open source) para o Delphi, que também trabalha originalmente com Pascal e Object Pascal, é baseado no compilador Free Pascal, sua interface é semelhante a do Delphi até sua versão 7 (antes do Delphi mudar para o estilo visual das ferramentas da Microsoft);
Eclipse - Gera código Java (através de plugins, o Eclipse suporta muitas outras linguagens como Python e C / C++);
Netbeans - Gera código Java (e suporta muitas outras linguagens como PHP, Python e C / C++);