Interface gráfica do usuário ou GUI
Um GUI (geralmente pronunciado GOO-ee) é uma interface de usuário gráfica (em vez de puramente textual) para um computador. Ao ler isso, você está olhando para a GUI ou interface gráfica do usuário do seu navegador da web específico. O termo surgiu porque as primeiras interfaces interativas de usuário para computadores não eram gráficas; eles eram orientados para texto e teclado e geralmente consistiam de comandos que você tinha que lembrar e respostas de computador que eram infamemente breves. A interface de comando do sistema operacional DOS (que você ainda pode obter a partir de seu sistema operacional Windows) é um exemplo da interface usuário-computador típica de antes de GUIs chegar. Um passo intermediário nas interfaces de usuário entre a interface da linha de comando e a GUI foi a interface não gráfica baseada em menu, que permite interagir usando um mouse em vez de ter que digitar comandos de teclado.
Os principais sistemas operacionais de hoje fornecem uma interface gráfica de usuário. Os aplicativos normalmente usam os elementos da GUI que vêm com o sistema operacional e adicionam seus próprios elementos e ideias de interface gráfica do usuário. Uma GUI às vezes usa uma ou mais metáforas para objetos familiares na vida real, como a área de trabalho, a vista através de uma janela ou o layout físico em um edifício. Elementos de uma GUI incluem coisas como: janelas, menus pull-down, botões, barras de rolagem, imagens icônicas, assistentes, o mouse, e sem dúvida muitas coisas que ainda não foram inventadas. Com o uso crescente da multimídia como parte das interfaces de GUI, som, voz, vídeo e interfaces de realidade virtual parecem propensos a fazer parte da GUI para muitas aplicações. A interface gráfica de usuário de um sistema, juntamente com seus dispositivos de entrada, às vezes é referida como seu "olhar e sentir".
A GUI familiar para a maioria de nós hoje em ambos os sistemas operacionais Mac ou Windows e suas aplicações se originou no Laboratório de Pesquisa da Xerox em Palo Alto no final da década de 1970. A Apple usou-o em seus primeiros computadores Macintosh. Mais tarde, a Microsoft usou muitas das mesmas ideias em sua primeira versão do sistema operacional Windows para PCs compatíveis com a IBM.
Ao criar um aplicativo, existem muitas ferramentas orientadas a objetos que facilitam a escrita de uma interface gráfica do usuário. Cada elemento GUI é definido como um widget de classe a partir do qual você pode criar instâncias de objeto para o seu aplicativo. Você pode codificar ou modificar métodos pré-existentes que um objeto usará para responder aos estímulos do usuário.