
En informática , un complemento (también escrito plugin ), un complemento adicional (también addin , add-on o addon ) o una extensión es un componente de software que amplía la funcionalidad de un sistema de software existente sin necesidad de reconstruirlo . Una función de complemento es una forma de personalizar un sistema . [ 1 ]
Las aplicaciones admiten complementos por diversas razones, entre ellas:
- Permitir a desarrolladores externos ampliar una aplicación.
- Permite añadir nuevas funciones fácilmente.
- Reduce el tamaño de una aplicación al no cargar funciones no utilizadas.
- Separar el código fuente de una aplicación debido a licencias de software incompatibles
Ejemplos
Ejemplos de uso de complementos para diversas categorías de aplicaciones:
- Las estaciones de trabajo de audio digital y el software de edición de audio utilizan complementos de audio para generar, procesar o analizar el sonido. Ardour , Audacity , Cubase , FL Studio , Logic Pro X y Pro Tools son ejemplos de estos sistemas.
- Los clientes de correo electrónico utilizan complementos para descifrar y cifrar correos electrónicos. Pretty Good Privacy es un ejemplo de este tipo de complementos.
- Los emuladores de consolas de videojuegos suelen usar complementos para modularizar los subsistemas separados de los dispositivos que buscan emular. [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] Por ejemplo, el emulador PCSX2 utiliza complementos de vídeo, audio, ópticos, etc. para esos componentes respectivos de la PlayStation 2 .
- Los programas de diseño gráfico utilizan complementos para admitir formatos de archivo y procesar imágenes. Un complemento de Photoshop puede hacer esto.
- El software de transmisión y retransmisión en directo, como OBS Studio , al ser un software de código abierto, utiliza complementos para satisfacer las necesidades específicas de cada usuario.
- Los reproductores multimedia utilizan complementos para admitir formatos de archivo y aplicar filtros. foobar2000 , GStreamer , Quintessential , VLC , Winamp y XMMS son ejemplos de este tipo de reproductores.
- Los analizadores de paquetes utilizan complementos para decodificar los formatos de los paquetes. OmniPeek es un ejemplo de este tipo de analizadores.
- Las aplicaciones de teledetección utilizan complementos para procesar datos de diferentes tipos de sensores; por ejemplo, Opticks .
- Los editores de texto y los entornos de desarrollo integrados utilizan complementos para admitir lenguajes de programación o mejorar el proceso de desarrollo; por ejemplo, Visual Studio , RAD Studio , Eclipse , IntelliJ IDEA , jEdit y MonoDevelop admiten complementos. Visual Studio se puede integrar con otras aplicaciones mediante Visual Studio Tools for Office y Visual Studio Tools for Applications .
- Históricamente, los navegadores web han utilizado ejecutables como complementos, aunque todos ellos están en desuso . Algunos ejemplos son Adobe Flash Player , una máquina virtual Java (para applets Java ), QuickTime , Microsoft Silverlight y Unity Web Player . ( Las extensiones de navegador , que son un tipo diferente de módulo instalable, todavía se utilizan ampliamente).
Mecanismo

La aplicación anfitriona proporciona servicios que el complemento puede utilizar, incluyendo un método para que los complementos se registren en la aplicación anfitriona y un protocolo para el intercambio de datos con los complementos. Los complementos dependen de los servicios proporcionados por la aplicación anfitriona y, por lo general, no funcionan de forma independiente. Por el contrario, la aplicación anfitriona opera independientemente de los complementos, lo que permite a los usuarios finales agregar y actualizar complementos dinámicamente sin necesidad de realizar cambios en la aplicación anfitriona. [ 10 ] [ 11 ]
Los programadores suelen implementar los complementos como bibliotecas compartidas , que se cargan dinámicamente en tiempo de ejecución. HyperCard admitía una funcionalidad similar, pero lo más común era incluir el código del complemento en los propios documentos de HyperCard (denominados pilas ). De este modo, la pila de HyperCard se convertía en una aplicación independiente, distribuible como una única entidad que los usuarios finales podían ejecutar sin necesidad de pasos de instalación adicionales. Los programas también pueden implementar complementos cargando un directorio de archivos de script sencillos escritos en un lenguaje de scripting como Python o Lua .
Aplicación de ayuda
En el contexto de un navegador web , una aplicación auxiliar es un programa independiente —como IrfanView o Adobe Reader— que amplía la funcionalidad del navegador. [ 13 ] [ 14 ] Una aplicación auxiliar amplía la funcionalidad de una aplicación , pero a diferencia del complemento típico que se carga en el espacio de direcciones de la aplicación principal , una aplicación auxiliar es una aplicación independiente. Con un espacio de direcciones independiente, la extensión no puede provocar el bloqueo de la aplicación principal, como podría ocurrir si compartieran un espacio de direcciones. [ 15 ]
Historia
A mediados de la década de 1970, el editor de texto EDT se ejecutaba en el sistema operativo Unisys VS/9 para la computadora central UNIVAC Serie 90. Permitía ejecutar un programa desde el editor, el cual podía acceder al búfer de edición en memoria. [ 16 ] El ejecutable del complemento podía llamar al editor para inspeccionar y modificar el texto. El compilador Fortran de la Universidad de Waterloo utilizó esta funcionalidad para permitir la compilación interactiva de programas Fortran .
Entre los primeros programas informáticos personales con capacidad de complemento se encontraban HyperCard y QuarkXPress para el Apple Macintosh , ambos lanzados en 1987. En 1988, Silicon Beach Software incluyó la capacidad de complemento en Digital Darkroom y SuperPaint .
Véase también
- Complementos (Mozilla) : módulos de software para ampliar las funcionalidades del navegador web Firefox.
- Applet – Pequeña aplicación de software
- Extensión de navegador : programa que amplía la funcionalidad de un navegador web.
- Tema : paquete de ajustes preestablecidos que contiene detalles de apariencia gráfica y funcionalidad.
Referencias
- ↑ Sterne, Jonathan. "Plug-in | software" . Enciclopedia Británica . Consultado el 5 de febrero de 2021 .
- ↑ "PCSX2 - El emulador de Playstation 2 - Plugins" . pcsx2.net . Archivado del original el 25/01/2018 . Consultado el 10/06/2018 .
- ↑ Bernert, Pete. "Complementos de GPU de Pete para PSX" . www.pbernert.com . Consultado el 10 de junio de 2018 .
- ↑ Equipo Demul. "DEMUL - Emulador de Sega Dreamcast para Windows" . demul.emulation64.com . Consultado el 10 de junio de 2018 .
- ↑ "Complemento de emulador de Android - Jenkins - Wiki de Jenkins" . wiki.jenkins.io . Consultado el 10 de junio de 2018 .
- ↑ "OpenEmu/SNES9x-Core" . GitHub . Consultado el 10 de junio de 2018 .
- ↑ "Plugins recomendados para N64" . Wiki general de emulación . Consultado el 10 de junio de 2018 .
- ↑ "Plugins y utilidades de Playstation!" . www.emulator-zone.com . Consultado el 10 de junio de 2018 .
- ↑ "Aplicaciones/plugins/emuladores caseros para PS3 | PSX-Place" . www.psx-place.com . Consultado el 10 de junio de 2018 .
- ↑ Complementos de Mozilla Firefox : descripción de la diferencia entre los complementos de Mozilla Firefox y las extensiones bajo el término general add-on .
- ↑ API de complementos de WordPress : descripción de la arquitectura de los complementos de WordPress.
- ↑ Roy, Lachlan (2011-06-09). "Guía del usuario de Calibre eBook Manager" . MakeUseOf . Recuperado el 2026-07-03 .
- ↑ "Definición de aplicación auxiliar" . PCMAG . Consultado el 25 de octubre de 2022 .
- ↑ "Descargar Irfan usando Internet Explorer 4.x o superior" . libweb.hawaii.edu . Consultado el 9 de enero de 2024 .
- ↑ "Aplicaciones auxiliares y complementos: seguridad web, privacidad y comercio, 2.ª edición [ Libro ] " . Seguridad web, privacidad y comercio, 2.ª edición . O'Reilly.
- ↑ Manual de referencia del editor de texto EDT , Cinnaminson, Nueva Jersey : Unisys Corporation , 1975
- Interfaces de programación de aplicaciones
- Complementos de software
- Neologismos tecnológicos
