En informática, un widget o artilugio[1] es una pequeña aplicación o programa, usualmente presentado en archivos o ficheros pequeños que son ejecutados por un motor de widgets o Widget Engine. Entre sus objetivos están dar fácil acceso a funciones frecuentemente usadas y proveer de información visual. Aunque no es condición indispensable, los widgets suelen ser utilizados para ser "empotrados" en otra página web, copiando el código que el mismo widget pone a disposición del usuario. Dado que son pequeñas aplicaciones, los widgets pueden hacer todo lo que la imaginación desee e interactuar con servicios e información distribuida en Internet; pueden ser vistosos relojes en pantalla, notas, calculadoras, calendarios, agendas, juegos, ventanas con información del tiempo en su ciudad, incluso sistemas de tiendas de comercio, etcétera.
Los widgets de escritorio también se conocen como gadgets de escritorio, y son una nueva categoría de mini aplicaciones; diseñadas para proveer de información o mejorar una aplicación o servicios de un ordenador o computadora, o bien cualquier tipo de interacción a través del World Wide Web, por ejemplo una extensión de alguna aplicación de negocios, que nos provea información en tiempo real del estatus del negocio u organización.
Una característica común a los widgets, es que son de distribución gratuita a través de Internet.
Aparecieron originalmente en el ambiente del sistema de accesorios de escritorio de Mac OS X, Windows Vista y Yahoo! ofrecieron una colección muy amplia de widgets para Windows XP y Mac OS X; llamadas Windows Desktop Gadgets y Yahoo! Widgets respectivamente a la vez que existió una creciente creación de widgets para Windows Vista por parte de usuarios, ambos aprovechaban del motor gráfico de este sistema conocido como WinFX, una biblioteca de tecnologías para Windows Vista también disponible sin costo alguno para Windows 2000, XP y 2003, Sin embargo la llegada de Windows 8 obligó a Microsoft retirar el soporte para Windows Desktop Gadgets en 2011, Por su lado Yahoo terminó el soporte para Yahoo! Widgets el 2 de marzo de 2012, al igual que el soporte para su desarrollo y sus respectivas galerías web.[2]
También los había para GNU/Linux, utilizando el motor widget «Superkaramba», que permitía la ejecución de un sinnúmero de widgets disponibles desde muchas páginas en internet; su facilidad de programación es sorprendente y al ser de código abierto cualquier usuario podía personalizarlo a su gusto. Para finales del 2007, el escritorio KDE 4.0 podía ejecutar widgets de Mac OS X.
El modelo de mini aplicaciones de widgets, es muy atractivo por su relativamente fácil desarrollo: muchos de los widgets, pueden ser creados con unas cuantas imágenes y con pocas líneas de código, en lenguajes que van desde XML, pasando por JavaScript a Perl, y C# entre otros.
Se considera que la palabra widget proviene de la combinación de las palabras window-gadget (que se interpretaría como aparato, artilugio o dispositivo de ventana); aunque se sabe que en 1924 en la obra titulada Beggar on Horseback de George S. Kaufman y Marc Connelly, el héroe de la obra trabaja en una fábrica que elabora «widgets», que se supone son artículos o materias primas.
En Gran Bretaña, la palabra «widget» tiene un significado adicional, que es el de un dispositivo pequeño usado durante la manufactura de ciertos tipos de cerveza, que ayuda a mantener baja la temperatura de la cerveza por periodos prolongados sin refrigeración.
En el contexto de la programación de aplicaciones visuales, los widgets tienen un significado más amplio como componente o control visual que el programador reutiliza, suelen reunirse varios widgets en juegos de herramientas de widgets. Los programadores los usan para construir interfaces gráficas de usuario (GUI).
Existen muy variados y diferentes tipos de widgets. Algunos de ellos y los más frecuentes son:
Widgets de escritorio: son los que más conocemos. Son herramientas interactivas descargables que se insertan en el escritorio de nuestro ordenador. Suelen ser aplicaciones para: el tiempo, el reloj, buscadores, etc.
Web widgets: partes de código que representan funcionalidades o contenidos que pueden ser instalados y ejecutados en tu página de manera sencilla. El código puede programarse desde: JavaScript, Flash, Silverlight y Windows Media Player entre otros. Su objetivo es enriquecer los contenidos y funcionalidades de tu Web sin necesidad de programar y crear nuevos contenidos.
Widgets para móviles: similares a los de escritorio, pero, en este caso, para la interfaz del teléfono. A pesar de lo pequeña que pueda ser su pantalla, los Widgets se adaptan perfectamente a la misma y prestan servicios interactivos de gran calidad.
Widgets físicos: mecanismos compactos interactivos que integran varias funciones típicas de los Widgets utilizados en un ordenador. Sus funcionalidades más comunes pueden ser alarmas despertador, información del tiempo, de Internet, etc.