integrated development environment (IDE)

An integrated development environment (IDE) is a software suite that consolidates basic tools required to write and test software.

Developers use numerous tools throughout software code creation, building and testing. Development tools often include text editors, code libraries, compilers and test platforms. Without an IDE, a developer must select, deploy, integrate and manage all of these tools separately. An IDE brings many of those development-related tools together as a single framework, application or service. The integrated toolset is designed to simplify software development and can identify and minimize coding mistakes and typos.

Some IDEs are open source, while others are commercial offerings. An IDE can be a standalone application or it can be part of a larger package.

Common features of integrated development environments

An IDE typically contains a code editor, a compiler or interpreter, and a debugger, accessed through a single graphical user interface (GUI). The user writes and edits source code in the code editor. The compiler translates the source code into a readable language that is executable for a computer. And the debugger tests the software to solve any issues or bugs.

An IDE can also contain features such as programmable editors, object and data modeling, unit testing, a source code library and build automation tools.

An IDE's toolbar looks much like a word processor's toolbar. The toolbar facilitates color-based organization, source-code formatting, error diagnostics and reporting, and intelligent code completion. Through an IDE's interface, a developer or team of developers can compile and execute code incrementally and manage changes to source code in a uniform manner. IDEs are typically designed to integrate with third-party version control libraries, such as GitHub and Apache's Subversion.

An IDE can support model-driven development (MDD). A developer working with an IDE starts with a model, which the IDE translates into suitable code. The IDE then debugs and tests the model-driven code, with a high level of automation. Once the build is successful and properly tested, it can be deployed for further testing through the IDE or other tools outside of the IDE.

Benefits of using IDEs

An IDE can improve the productivity of software developers thanks to fast setup and standardization across tools.

Without an IDE, developers spend time deciding what tools to use for various tasks, configuring the tools and learning how to use them. Many or even all of the necessary dev-test tools are included in one integrated development environment.

IDEs are also designed with all their tools under one user interface. An IDE can standardize the development process by organizing the necessary features for software development in the UI.

Types of IDEs and available tools

Developers must match the IDE they use with the type of application they want to produce. For example, if a developer wants to create an application on iOS, then they need an IDE that supports Apple's Swift programming language. Types of IDEs range from web-based and cloud-based to mobile, language-specific or multi-language.

Web-based IDEs suit web-based application development in HTML, JavaScript or similar programming languages. Microsoft's Visual Studio Code is an example of a web-based IDE with features such as a code editor, syntax highlighting, code completion and debugging.

Increasingly, IDEs are offered on a platform as a service (PaaS) delivery model. The benefits of these cloud-based IDEs include accessibility to software development tools from anywhere in the world, from any compatible device; minimal to nonexistent download and installation requirements; and ease of collaboration among geographically dispersed developers. Cloud9 is an IDE from AWS that supports up to 40 languages including C, C++, Python, Ruby and JavaScript. Cloud9 gives users code completion, an image editor and a debugger, as well as other features such as support for deployment to Microsoft Azure and Heroku (which is a cloud-based PaaS IDE).

An IDE for mobile development normally works with code that runs on iOS or Android devices. Xamarin is an example of a cross-platform mobile IDE, which means it can create code for multiple mobile platform types. For example, a developer can write a feature in C and Xamarin translates it into Swift for iOS and Java for Android. Additionally, Xamarin offers UI tests and it can distribute beta tests to users.

IDEs such as C-Free -- which supports a code editor, debugger and an environment to run C and C++ code -- are language specific. Other IDEs support multiple languages, such as previously mentioned Cloud9 and Visual Studio Code. More popular IDE tools include Netbeans, Eclipse and IntelliJ IDEA.

Disambiguation: The abbreviation IDE is also used to refer to integrated drive electronics.

This was last updated in September 2018

Next Steps

What to look for in Microsoft's Visual Studio IDE

Discover more about Apple's Xcode IDE

Continue Reading About integrated development environment (IDE)

Dig Deeper on Software development lifecycle

Cloud Computing
App Architecture