Widget

Um widget é um elemento de uma interface gráfica de usuário (GUI) que exibe informações ou fornece uma forma específica para um usuário interagir com o sistema operacional ou uma aplicação. 

Widgets incluem ícones, menus suspensos, botões, caixas de seleção, indicadores de progresso, marcas de verificação on-off, barras de rolagem, janelas, bordas de janelas (que permitem redimensionar a janela), botões de alternância, formulário e muitos outros dispositivos para exibir informações e para convidar, aceitar e responder às ações do usuário.

Na programação, widget também significa o pequeno programa que é escrito a fim de descrever como um widget em particular se parece, como ele se comporta e como responde às ações do usuário. A maioria dos sistemas operacionais inclui um conjunto de widgets prontos para serem adaptados que um programador pode incorporar em uma aplicação, especificando como ele deve se comportar. Novos widgets podem ser criados.

Em computação, o termo foi aparentemente aplicado primeiro em sistemas operacionais baseados em UNIX e no Sistema X Window. Na programação orientada a objetos (OOP), cada tipo de widget é definido como uma classe (ou uma subclasse sob uma ampla classe genérica de widgets) e está sempre associado a uma determinada janela. No AIX Enhanced X-Window Toolkit, um widget é o tipo de dado fundamental.

Mais, se não todas as linguagens de desenvolvimento de aplicações de hoje, como Java e Tool Command Language, vêm com uma biblioteca pronta de widgets que um programador pode incorporar e modificar. Usando o Visual Basic da Microsoft, um widget pode ser implementado como ou parte de um controle ActiveX.

O termo widget tem sido usado tradicionalmente para se referir a qualquer objeto discreto -- geralmente de alguma natureza mecânica e de tamanho relativamente pequeno -- quando ele não tem nome, quando você não consegue lembrar o nome, ou quando você está falando de uma classe de certos objetos desconhecidos em geral. De acordo com Eric Raymond, compilador do The New Hacker's Dictionary, "a lenda diz que os widgets originais eram suportes para buggy whips", mas isto foi possivelmente escrito tongue-in-cheek.