integrated development environment (IDE)
What is an 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 these tools separately. An IDE combines many of those development tools together in a single graphical user interface (GUI). The IDE 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 software package.
The abbreviation IDE is also used to refer to integrated drive electronics.
Features of IDEs
An IDE typically contains a code editor, a compiler or interpreter, and a debugger, accessed through a single 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. 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 often 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 Subversion.
An IDE can support model-driven development. 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 the IDE.
Benefits of using IDEs
An IDE can improve developer productivity 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 the necessary developer tools are included in one integrated development environment.
IDEs are also designed with all their tools under one user interface, which makes the software development experience more accessible to the user.
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 multilanguage.
Web-based IDEs suit web-based application development in Hypertext Markup Language, 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 through a platform as a service (PaaS) delivery model. The benefits of these cloud-based IDEs include the following:
- Accessibility to software development tools from anywhere in the world, from any compatible device.
- Minimal to nonexistent download and installation requirements.
- 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, 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. In addition, Xamarin offers UI tests, and it can distribute beta tests to users.
IDEs such as C-Free -- which supports a code editor, a debugger and an environment to run C and C++ code -- are language-specific. Other IDEs support multiple languages, such as Cloud9 and Visual Studio Code. Other popular IDE tools include Apache NetBeans, Eclipse and IntelliJ IDEA.