paulo1205
(usa Ubuntu)
Enviado em 29/06/2016 - 17:32h
<windows.h> não é só para GUI (toda a WinAPI está declarada ali dentro), nem é para desenvolvimento especificamente em C++ (a WinAPI é compatível com C, e usa uma convenção de chamada de funções que a fazem compatível também com outras linguagens).
GUI em C puro com WinAPI é um pesadelo. Se você programou em C++ no Windows, deve ter usado ou MFC ou algum outro framework mais amigável.
MFC e toda a WinAPI, incluindo <windows.h>, são só para WIndows. Então, prepare-se para reescrever um bocado de código com alguma outra solução.
Possivelmente as coisas mudaram um pouco ao longo dos últimos anos mas, pelo menos até alguns anos atrás, o framework mais parecido com a MFC que existe no Linux (mas que também pode ser usado no Windows e em outros sistemas operacionais) era o
wxWidgets. Nunca usei e não sei quão bom ou ruim ele é.
Eu gosto muito do Qt. Ele é muito versátil e é disponível para várias plataformas diferentes, incluindo Windows e Linux. É muito mais fácil de usar que a MFC, o que, na minha opinião, justifica usá-lo mesmo para desenvolver programas no Windows.
Existe também o
GTK+. Eu particularmente não gosto dele e não o recomendo, muito em função de a ser uma implementação que tenta passar a ideia de usar “somente C”, mas que recorre tão pesadamente macros e impõe tantos maneirismos ao programador que acaba virando um monstro muito diferente de C. Existe um segundo nível de biblioteca, chamado
gtkmm, que é uma casca em C++ em cima do GTK+ e que esconde muito da “sujeira” de baixo nível que a escolha de C como linguagem de implementação impôs à biblioteca primária. Mesmo assim, eu continuo não recomendando. Mas há quem goste da tralha toda, e o fato de haver muitos projetos de alto nível que a empregam sem dúvida indica que não é de todo ruim. ;)
E existem outros players menores, como FLTK (C++ e multiplataforma, com reputação de ser muito simples de usar, mas eu mesmo nunca usei e não posso confirmar), Tk (C e TCL, mas pouco usado hoje em dia) ou MOTIF (C, já foi quase o “padrão“ para uso no UNIX, mas demorou a ser liberado para uso em projetos de código aberto e, talvez até por isso mesmo, parou no tempo), entre outros ainda menos expressivos.