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:
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:
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++.
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).
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.
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.
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:
Sua particularidade é a de produzir janelas com a mesma aparência como se ela tivesse sido programada usando a API nativa do sistema.
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.
Anteriormente conhecido como Microwindows, é uma pequena biblioteca livre, a ser visitada. Aqui, seu site oficial.
Foto: © Fotis Fotopoulos - Unsplash