Respuesta :

Un complemento es una aplicación que se relaciona con otra para aportarle una función nueva y generalmente muy específica. Esta aplicación adicional es ejecutada por la aplicación principal e interactúan por medio de la API. También se conoce como plug-in (del inglés «[un] enchufable o inserción»), add-on («añadido»), conector o extensión.Los complementos permiten:Que los desarrolladores externos colaboren con la aplicación principal extendiendo sus funciones.Reducir el tamaño de la aplicación.Separar el código fuente de la aplicación a causa de la incompatibilidad de las licencias de software.Algunos tipos de aplicaciones que suelen incluir complementos son:Navegadores web: es frecuente requerir ciertos complementos que amplían las funciones de las páginas web para ver contenidos interactivos, videos y cosas similares. Un ejemplo conocido es Adobe Flash Player, un complemento que carga animaciones multimedia interactivas y se usa, por ejemplo, para ver videos.Reproductores de audio: Algunos permiten añadir complementos para reproducir formatos que no son soportados originalmente, producir efectos de sonido o video, mostrar animaciones o visualizaciones que se mueven de acuerdo a la música que se está escuchando, entre otras opciones. Windows Media Player y Winamp soportan muchas de estas opciones.Sistemas de gestión de contenidos: permiten cambiar la apariencia, añadir botones u otro tipo de contenido a las páginas web que generan. Los complementos deWordPress son bien conocidos.En general, cualquier aplicación puede añadir soporte para complementos.FuncionamientoLa aplicación principal o host proporciona servicios que el complemento puede utilizar, incluyendo un método para que los complementos se registren a si mismos y un protocolo para el intercambio de datos. Los complementos dependen de los servicios prestados por la aplicación de acogida y no suelen funcionar por sí mismos. Por el contrario, la aplicación principal funciona independientemente de ellos, lo que permite a los usuarios finales añadir y actualizar los complementos de forma dinámica sin necesidad de hacer cambios a la aplicación principal.Las interfaces de programación de aplicaciones (API) proporcionan una interfaz estándar, lo que permite a terceros crear complementos que interactúan con la aplicación principal. Un API estable permite que complementos de terceros funcionen como la versión original y amplien el ciclo de vida de las aplicaciones obsoletas. El API para complementos de Adobe Photoshop y After Effects se ha convertido en un estándar y las aplicaciones de la competencia como Corel Paint Shop Pro lo han adoptado hasta cierto punto. Otros ejemplos de la API son, entre otros, VST y Audio Units.Las arquitecturas de numerosos juegos y aplicaciones suelen utilizar complementos que permiten a los editores, ya sean los creadores originales o terceros, agregar funcionalidad al software. La serie Microsoft Flight Simulator ha llegado a ser bien conocida por sus complementos de aviones.HistoriaLos primeros complementos aparecieron tan pronto como a mediados de 1970, cuando el editor de texto EDT corriendo en el sistema operativo Unisys VS/9 y utilizando la serie de ordenadores Univac 90/60, permitía a un programa externo acceder a la memoria para editar la sesión.Ya en 1987 Macintosh incluía la funcionalidad en HyperCard y QuarkXPress. En 1988, Silicon Beach Software incluyó complementos en Digital Darkroom y SuperPaint, y Ed Bömke acuñó el término plug-in.