0
Obrigado

Algumas palavras de agradecimento nunca são demais.

Bibliotecas para interfaces gráficas (GUI)

Existem muitas bibliotecas de programação de uma interface gráfica para um software. E a portabilidade, a rapidez de execução, a velocidade e o custo de desenvolvimento, a estabilidade e a licença de seu software dependerão da sua escolha de biblioteca de gráfica



Alguns sistemas implementam sua interface gráfica no próprio sistema operacional. É o caso, por exemplo, do Windows, cuja parte gráfica se encontra dentro do núcleo do sistema operacional. Conheça-as melhor a seguir:

I.1 A Api gráfica do Windows

A interface gráfica do Windows não é implementada no nível do usuário, mas no nível do kernel, que tem a vantagem de obter interfaces de rápida execução.


No entanto, o uso direto da API (Application Programming Interface ou Interface de Programação de Aplicativos) do Windows também tem muitas desvantagens:
  • Esta API tem pouca abstração, o gerenciamento da IHC (Interação humano-computador) é feito através do uso de funções de baixo nível. Desenvolver uma IHC com esta API vai demorar mais e pode esconder alguns bugs. No entanto, uma biblioteca, cuja abordagem é de baixo nível, poderá, eventualmente, permitir mais possibilidades em gráficos.
  • Esta API não é portátil. Seu software não pode ser usado fora do Windows, a menos que você use a emulação.


Você pode usar esta API em C ou C++ usando os MFC e, claro, em vários idiomas.

Note que a programação de interfaces gráficas como uso da API do Windows é, muitas vezes, mais confortável com IDE como o Microsoft Visual C++.

I.2 XWindow

Propor XWindow como API nativa é mentir um pouco. Na verdade, o XWindows já é uma biblioteca de terceiros, mas como ela se situa na base do sistema IHC, em alguns Sistemas Operacionais como o Linux/Unix, vamos classificá-la assim nesta dica.


Você pode usar XWindows para desenvolver interfaces gráficas, mas, ainda neste caso, você corre o risco de ter uma biblioteca com pouca abstração e que, portanto, exigirá mais tempo de desenvolvimento. Por outro lado, você obterá um software totalmente portátil: XWindow também existe no Windows.

Outro ponto importante: algumas implementações do XWindow são livres (XFree, XOrg).

II As bibliotecas de terceiros

As bibliotecas gráficas de terceiros são bibliotecas externas que você pode instalar em seu sistema. Geralmente, elas atuam como a camada de uma biblioteca de nível inferior (API do Windows, XWindows, etc.) e, assim, oferecem uma interface de desenvolvimento mais confortável.

II.1 Qt

Qt é uma biblioteca gráfica portátil, disponível para o Unix/Linux e o Windows. Ela é conhecida por ter uma arquitetura confortável.

Antes do uso, é recomendável que você se informe sobre a licença do Qt:

Qt é destinado ao uso em C++, mas você também pode usá-lo com muitas outras linguagens (C/Python, etc ...)

Como exemplo de Qt, basta ver o desktop KDE no Linux ou no software Amarok.

II.2 GTK

Como a Qt, GTK é uma biblioteca livre e portátil. O software Gimp, por exemplo, foi feito com a Gtk.

Outro exemplo é o desktop Gnome usado no Linux.
Gtk foi escrita em C mas pode ser utilizada em várias outras linguagens.

Exemplo de gimp:

II.3 WxWidgets

Sua particularidade é a de produzir janelas com a mesma aparência como se ela tivesse sido programada usando a API nativa do sistema.

III Casos específicos: Sistemas embarcados

Os sistemas embarcados são um caso especial, já que se apresentam, em geral, em tela pequena (por exemplo, telefones celulares, GPS etc.)

Também existem bibliotecas para produzir GUI (Graphical User Interface), nestes pequenos sistemas.

III.1 The Nano-X Window System

Anteriormente conhecido como Microwindows, é uma pequena biblioteca livre, a ser visitada. Aqui, seu site oficial.

Foto: © Fotis Fotopoulos - Unsplash

Veja também

Este documento, intitulado 'Bibliotecas para interfaces gráficas (GUI)', está disponível sob a licença Creative Commons. Você pode copiar e/ou modificar o conteúdo desta página com base nas condições estipuladas pela licença. Não se esqueça de creditar o CCM (br.ccm.net) ao utilizar este artigo.