Ambiente de desenvolvimento integrado
IDE , do inglês Integrated Development Environment ou Ambiente Integrado de Desenvolvimento , é 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
Aplicativos"), 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 ; Linker - liga (linka) os vários "pedaços" de código-fonte, compilados em linguagem de máquina , em um programa executável que pode ser executado em um computador ou outro dispositivo computacional . Depurador (debugger) - auxilia no processo de encontrar e corrigir erros ( bugs ) no código-fonte do programa, na tentativa de aprimorar a qualidade de software ;Modelagem (modelling) - criação do modelo de classes , objetos , interfaces , associações e interações dos artefatos envolvidos no software com o objetivo de solucionar as necessidades-alvo do software final. 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
todo ou 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 do mesmo, 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 dos mesmos,
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.
Exemplos
Boa Constructor - Gera código Python ; 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 ; 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 . BlueJ - Gera código Java . Visual Basic - Gera código Basic ; Visual Studio .NET - Gera código para Framework .NET, suportando linguagens Visual Basic .NET, C#, C++, e J#. SharpDevelop - Gera código C#. MonoDevelop - Baseado no SharpDevelop, para ambiente Unix DEV-C++ , Code::Blocks - Geram código para C e C++ Anjuta - Gera código para C e C++ Scaffold Anubis - Gera código PHP-GTK ; WOL - Gera código pascal (também é biblioteca)