Complemento (informática)

Un complemento informático, también conocido como plug-in, es una aplicación (o programa informático) que permite extender las funciones de otra aplicación o programa sin tener que modificar el código. Esta aplicación adicional se ejecuta a través de la aplicación principal e interactúa por medio de la interfaz de programación de aplicaciones. Complemento y plug-in se diferencian en que los plug-in son desarrollados por empresas reconocidas y tienen certificado de seguridad y los complementos pueden ser desarrollados por cualquiera.

También se conoce por los términos en inglés, plug-in ("enchufable" o "inserción") o add-on ("añadido"), y como conector o extensión.

Se usa, por ejemplo, para Videojuegos y aplicaciones.

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.

Historia 

Los primeros complementos aparecieron a mediados de 1970, cuando el editor de texto EDT ejecutándose en el sistema operativo Unisys VS/9 y utilizando la serie de computadoras Univac 90/60, permitía a un programa externo acceder a la memoria para editar la sesión.

En 1987, Macintosh incluyó 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".

Aplicaciones con complementos 

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 de WordPress son bien conocidos.

En general, cualquier aplicación puede añadir soporte para complementos.

Funcionamiento 

La aplicación principal o host proporciona servicios que el complemento puede utilizar, incluyendo un método para que los complementos se registren a sí 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.

La 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. La 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.

Sistema de complementos 

Un sistema de complementos, normalmente utilizado (sin nombre actual), es un programa que asigna una carpeta única (generalmente en la misma ruta que la del programa) donde se buscaran los nuevos plugins creados por terceros, el programa principal escanea la carpeta al iniciarse y mediante procedimientos llamados por defecto y requeridos en los complementos obtiene los datos necesarios para (por ejemplo) visualizarlos en una interfaz gráfica u obtener la lista de procedimientos alternativos que exporta el plugin (mediante cadenas).

Plugins de WordPress 

Los plugins de WordPress son una aplicación o módulo que se añade para aumentar las funcionalidades del propio CMS. Existen multitud de plugins que pueden ayudar a cambiar la interfaz visual, complementar otras funciones o incluso permitir corregir ciertas carencias como hacer que la web vaya más rápida, los formularios tengan una redirección o añadir campos de SEO para ayudar al posicionamiento de la web.

Véase también 

 Interfaz de programación de aplicaciones

Referencias 

Aplicaciones informáticas