
Un entorno de desarrollo integrado ( IDE ) es un software que proporciona un conjunto relativamente completo de funciones para el desarrollo de software . Un IDE está diseñado para mejorar la productividad al proporcionar funciones de desarrollo con una experiencia de usuario consistente , en lugar de utilizar herramientas separadas como vi , GDB , GCC y make .
Como mínimo, un IDE suele admitir la edición de código fuente , el control de versiones , la automatización de compilaciones y la depuración . Un IDE puede incluir soporte para la integración de herramientas como un compilador , un entorno de ejecución o un sistema de control de versiones , aunque a veces estas herramientas vienen incluidas con el IDE. Algunos IDE ofrecen soporte especial para la creación de interfaces gráficas de usuario (GUI). Muchos IDE admiten la programación orientada a objetos mediante funciones como el explorador de clases y el explorador de objetos . Normalmente, un IDE ofrece soporte específico para uno o más lenguajes de programación , lo que permite funciones adaptadas a cada lenguaje. Algunos IDE pueden ampliarse para admitir lenguajes adicionales.
Aunque algunos IDE se implementan como una aplicación , otros se implementan como una biblioteca , a menudo diseñada para una plataforma de software particular . Por ejemplo, aunque Eclipse es una plataforma para la que existen muchos complementos que brindan una experiencia de IDE , la aplicación principal no lo hace. [ a ]
Si bien los IDE modernos se basan en interfaces gráficas de usuario (GUI), existían IDE antes de la disponibilidad de sistemas de ventanas como Windows y el Sistema X Window . Por ejemplo, Turbo Pascal para MS-DOS ofrece una experiencia de usuario en pantalla completa basada en texto.
Historia
Los IDE se hicieron posibles inicialmente al desarrollar a través de una consola o terminal . Los primeros sistemas no podían soportarlos, ya que los programas se enviaban a un compilador o ensamblador mediante tarjetas perforadas , cinta de papel , etc. Dartmouth BASIC fue el primer lenguaje creado con un IDE (y también el primero diseñado para usarse sentado frente a una consola o terminal). [ 1 ] Su IDE (parte del Sistema de Tiempo Compartido de Dartmouth ) se basaba en comandos y, por lo tanto, no se parecía mucho a los IDE gráficos con menús que se popularizaron tras la llegada de la interfaz gráfica de usuario . Sin embargo, integraba edición, gestión de archivos, compilación, depuración y ejecución de una manera coherente con un IDE moderno.
Maestro I , un producto de Softlab Munich, fue el primer entorno de desarrollo integrado del mundo [ 2 ] para software. Maestro I fue instalado por 22 000 programadores en todo el mundo. Hasta 1989, existían 6000 instalaciones en la República Federal de Alemania . Maestro fue, sin duda, el líder mundial en este campo durante las décadas de 1970 y 1980. Actualmente, uno de los últimos Maestro I se encuentra en el Museo de Tecnología de la Información de Arlington, Texas.
Uno de los primeros IDE con un concepto de complementos fue Softbench . En 1995, Computerwoche comentó que el uso de un IDE no era bien recibido por los desarrolladores, ya que limitaría su creatividad.
A fecha de agosto de 2023 , los IDE más buscados en la Búsqueda de Google fueron Visual Studio , Visual Studio Code y Eclipse . [ 3 ]
Características
Las características que se suelen encontrar en un IDE incluyen:
- Soporte de idiomas
- Algunos IDE admiten varios lenguajes, como GNU Emacs , IntelliJ IDEA , Eclipse , MyEclipse , NetBeans , MonoDevelop , JDoodle o PlayCode. El soporte para lenguajes alternativos a menudo se proporciona mediante complementos , lo que permite instalarlos en el mismo IDE al mismo tiempo. Por ejemplo, Flycheck es una extensión moderna de comprobación de sintaxis en tiempo real para GNU Emacs 24 con soporte para 39 lenguajes. [ 4 ] Otro ejemplo es JDoodle, un IDE en línea basado en la nube que admite 88 lenguajes. [ 5 ] Eclipse y Netbeans tienen complementos para C / C++ , Ada , GNAT (por ejemplo, AdaGIDE), Perl , Python , Ruby y PHP , que se seleccionan automáticamente según la extensión del archivo, el entorno o la configuración del proyecto.
- Resaltado de sintaxis
- La función de edición de código fuente generalmente incluye resaltado de sintaxis, que puede mostrar tanto las estructuras, las palabras clave del lenguaje como los errores de sintaxis con colores y efectos de fuente visualmente distintos. [ 6 ]
- Verificación continua de la sintaxis
- La sintaxis del código se puede validar continuamente mientras se edita, y se pueden proporcionar errores cuando se introduce uno, en lugar de que el desarrollador tenga que esperar hasta que se ejecute una compilación.
- Búsqueda de código
- El IDE puede admitir la búsqueda de declaraciones de clases y funciones, usos, lectura/escritura de variables y campos, etc. Los IDE pueden utilizar diferentes tipos de interfaz de usuario para la búsqueda de código, por ejemplo, widgets basados en formularios [ 7 ] e interfaces basadas en lenguaje natural. El IDE también puede admitir la búsqueda de la implementación de una declaración. [ 8 ]
- Autocompletado de código
- Refactorización [ 6 ]
- Control de versiones [ 6 ]
- Configuración simplificada
- Un objetivo típico de un IDE es reducir la configuración necesaria para integrar múltiples herramientas de desarrollo. Un IDE puede proporcionar una configuración coherente que reduce el tiempo de configuración y, por lo tanto, aumenta la productividad, especialmente en los casos en que aprender a usar el IDE es más rápido que integrar y aprender a usar varias herramientas por separado.
- Depuración
- El soporte para la depuración generalmente incluye establecer puntos de interrupción en el editor, representación visual de los pasos, etc. [ 9 ]
- Programación visual
- Visual Basic allows users to design an application by moving programming, building blocks, or code nodes to create flowcharts or structure diagrams that are then compiled or interpreted. These flowcharts often are based on the Unified Modeling Language.
- This interface has been popularized with the Lego Mindstorms system and is being actively perused by a number of companies wishing to capitalize on the power of custom browsers like those found at Mozilla. KTechlab supports flowcode and is a popular open-source IDE and simulator for developing software for microcontrollers. Visual programming is also responsible for the power of distributed programming (cf. LabVIEW and EICASLAB software). An early visual programming system, Max, was modeled after an analog synthesizer design and has been used to develop real-time music performance software since the 1980s. Another early example was Prograph, a dataflow-based system originally developed for the Macintosh. The graphical programming environment "GRAPE" is used to program qfix robot kits.
- This approach is also used in specialist software such as Openlab, where the end-users want the flexibility of a full programming language, without the traditional learning curve associated with one.
Use
For a long time and still somewhat today, IDEs are used more commonly in Windows environments than on Unix-like environments. A notable exception is Apple platforms. IDEs have been popular on classic Mac OS and macOS, dating back to Macintosh Programmer's Workshop, Turbo Pascal, THINK Pascal and THINK C environments of the mid-1980s. Currently, macOS programmers can choose between native IDEs like Xcode and third-party tools such as Eclipse, Netbeans and ActiveState Komodo.


En lugar de usar un IDE, el desarrollo de software para un entorno tipo Unix a menudo implica el uso de varias herramientas de línea de comandos [ 10 ] [ 11 ] como la cadena de herramientas GNU (incluyendo GCC , GDB y make ) [ 12 ] y un editor de texto como Emacs [ 13 ] [ 14 ] [ 15 ] o Vim . Algunos programadores prefieren administrar makefiles (y archivos de compilación similares) en lugar de la experiencia de configuración de compilación que presenta un IDE. Por ejemplo, la mayoría de los colaboradores de la base de datos PostgreSQL usan make y GDB directamente. [ 16 ] Incluso cuando se compila PostgreSQL para Windows a través de Visual C++ , se usan scripts de Perl como reemplazo de make en lugar de depender de cualquier característica del IDE. [ 17 ] Algunos IDE de Linux como Geany intentan proporcionar una interfaz gráfica para las operaciones de compilación tradicionales. Data Display Debugger es una interfaz gráfica para muchas herramientas de depuración basadas en texto .
En línea
Un entorno de desarrollo integrado en línea , también conocido como IDE web o IDE en la nube, es un IDE basado en navegador que permite el desarrollo de software o desarrollo web. Se puede acceder a un IDE en línea desde un navegador web, lo que proporciona un entorno de trabajo portátil. Un IDE en línea no suele incluir todas las funciones de un IDE tradicional o de escritorio, aunque normalmente sí incluye las funciones básicas, como el resaltado de sintaxis.
Un entorno de desarrollo integrado (IDE) para dispositivos móviles es una aplicación de software que proporciona un conjunto completo de herramientas para el desarrollo de software en plataformas móviles. A diferencia de los IDE tradicionales para ordenadores de escritorio, los IDE para móviles están diseñados para ejecutarse en smartphones y tabletas, lo que permite a los desarrolladores escribir, depurar e implementar código directamente desde sus dispositivos móviles.
Entorno de desarrollo agencial
As AI assistance is increasing in IDEs, the concept of agentic development environment (ADE) began to appear. Agents not only suggest code completions but explain code, analyze bugs, suggest solutions, plan them and implement them. Some ADEs are plugins in regular IDEs as GitHub Copilot, Cline and Continue for Visual Studio Code, while some are deeply integrated as Windsurf, Cursor and Google Antigravity. Zed Editor also has optional AI, while the upcoming Jetbrains Fleet Editor was cancelled in favor of an ADE called Jetbrains Air that is based on it.[18]
See also
- Comparison of integrated development environments
- List of integrated development environments
- Collaborative development environment (CDE)
- Computer-aided software engineering (CASE)
- Software engine
- Multiple document interface § IDE-style interface (MDI)
- Rapid application development (RAD)
- Read–eval–print loop (REPL)
- Notebook interface
- Code analysis tools
- Source code refactoring tools
- Software building tools (the compiler, linker, etc., and the build automation tool used to control them)
- Version control, also called source repository (configuration management)
- Language Server Protocol
- Structured Programming Facility
- Transportable Applications Environment
Notes
- ↑ Eclipse is often called an IDE since it was originally and still is today commonly installed with the Java IDE plugin. The plugins provide development environments. With no plugins enabled, the Eclipse application does not provide an experience that includes the typical, basic features of an integrated development environment.
References
- ↑Wasserman, A. (2024). "Lessons from a Pioneering Software Engineering Environment: Design Principles of Software through Pictures". IDE '24: Proceedings of the 1st ACM/IEEE Workshop on Integrated Development Environments. arXiv:2403.08085. Bibcode:2024ide..conf....7W. doi:10.1145/3643796.3648445 (inactive 3 June 2026). S2CID 268379445.
{{cite book}}: CS1 maint: DOI inactive as of June 2026 (link) - ↑"Interaktives Programmieren als Systems-Schlager" from Computerwoche (German)
- ↑"TOP IDE Top Integrated Development Environment index". pypl.github.io. Retrieved 8 August 2023.
- ↑ "Introducción - Flycheck 0.18-cvs" . Lea la documentación . Archivado del original el 10 de marzo de 2014. Consultado el 10 de marzo de 2014 .
- ↑ "JDoodle - Compilador y editor en línea para Java, C/C++, etc. "
- 1 2 3 "Curso CS350 Entornos de Desarrollo Integrados" . cs.odu.edu . Universidad Old Dominion . Consultado el 10 de octubre de 2018 .
- ↑ "Búsqueda de código" . Eclipse Cookbook . O'Reilly. ISBN 978-0-596-00710-2.
- ↑ Stolee, Kathryn T.; Elbaum, Sebastian; Dobos, Daniel (2014). "Resolviendo la búsqueda de código fuente" . ACM Transactions on Software Engineering and Methodology . 23 (3): 1– 45. doi : 10.1145/2581377 . ISSN 1049-331X . S2CID 8558710 .
- ↑ "Software de programación y el IDE" . BBC Bitesize . Archivado del original el 9 de octubre de 2018. Consultado el 10 de octubre de 2018 .
- ↑ Rehman, Christopher Paul, Christopher R. Paul. "La plataforma de desarrollo Linux: configuración, uso y mantenimiento de un entorno de programación completo". 2002. ISBN 0-13-009115-4
- ↑ "UnixIsAnIde" .
- ↑ "Utilice Emacs con Microsoft Visual C++ ... utilice Emacs como un IDE" . Archivado del original el 4 de julio de 2013.
- ↑ "Emacs: el IDE de software libre | Linux Journal" . www.linuxjournal.com
- ↑ "El libro de cocina de Common Lisp: cómo usar Emacs como IDE de Lisp" . cl-cookbook.sourceforge.net .
- ↑ "Emacs como IDE de Perl" . obsidianrook.com . Archivado del original el 21 de mayo de 2016. Consultado el 11 de mayo de 2011 .
- ↑ "Preguntas frecuentes para desarrolladores - Wiki de PostgreSQL" . wiki.postgresql.org .
- ↑ "Capítulo 18. Instalación desde el código fuente en Windows" . Documentación de PostgreSQL . 29 de septiembre de 2021.
- ↑ "Inicio rápido | JetBrains Air" .
- entornos de desarrollo integrados
- Ingeniería de software