Linguagens de programação e kits de ferramentas são tópicos complicados. Você provavelmente já usou computadores por muito tempo sem se tocar sobre isso. Porém, quando você mudou para o Linux, de repente, o problema se tornou relevante. Isso porque se um aplicativo se integra ao restante da sua área de trabalho geralmente se realiza uma pergunta: ele foi feito no GTK + ou no Qt? Qual a diferença entre GTK e Qt? É esta a proposta deste post.
O que são o GTK + e o Qt?
O GTK + e o Qt são ferramentas usadas pelos desenvolvedores para estruturar a aparência de um aplicativo. Esses kits de ferramentas fornecem os botões, barras de ferramentas, controles deslizantes e menus que você vê ao usar um aplicativo.
Toolkits economizam tempo dos desenvolvedores. Em vez de codificar ou projetar o tamanho, a forma e a aparência de cada botão, eles podem deixar o kit de ferramentas cuidar desse trabalho. Isso os libera para se concentrar na funcionalidade principal que um aplicativo fornece, como editar documentos ou reproduzir músicas.
A história do GTK + e do Qt
Primeiro, o Qt
Haarvard Nord e Eirik Chambe-Eng começaram o desenvolvimento do Qt em 1991. O nome surgiu devido a como a letra Q aparecia na fonte Emacs de Haavard e o uso da letra t vem de Xt, o X kit de ferramentas já em uso em desktops Unix.
A Nord e a Chambe-Eng mais tarde seriam co-fundadoras da Quasar Technologies, que se tornou Throll Tech, depois da Throlltech. Agora existe em uma forma diferente como The Qt Company.
Em 1995, a Throll Tech lançou o código-fonte de uma versão do Qt para Linux. No entanto, isso não atendia à definição de livre da Free Software Foundation, já que as pessoas não tinham permissão para redistribuir o código se fizessem qualquer modificação. Somente no ano 2000 foi que a Throlltech deu aos usuários a liberdade de editar e redistribuir livremente o código.
Agora, o GTK+
O GTK + começou como o GIMP Toolkit, criado por Peter Mattis como um substituto para a interface existente usada no GNU Image Manipulation Program. Após uma reescrita, o kit de ferramentas tornou-se o GTK + e foi lançado em 1998. Ao contrário do Qt, as pessoas tinham a liberdade de editar, modificar e compartilhar o GTK + desde o início.
Qt é, de certa forma, um kit de ferramentas bem mais versátil e adaptável. No entanto, há uma comunidade consolidada em torno do GTK +. Também vale a pena notar que a Fundação GNOME sem fins lucrativos agora mantém o GTK +. Ao mesmo tempo, uma empresa de capital aberto, a The Qt Company, lidera o desenvolvimento do Qt. Ainda assim, neste momento, nenhum kit de ferramentas é “mais livre” que o outro.
Desktops e Software Baseados em GTK
Se você fez recentemente a transição para o Linux, há uma boa chance de usar uma área de trabalho baseada em GTK. Isso porque muitos dos melhores ambientes de desktop Linux usam o GTK +.
Primeiramente, podemos destacar o GNOME, presente em distribuições como Ubuntu, Fedora e Debian. Depois, há alternativas como MATE e Xfce, que oferecem interfaces mais leves e tradicionais.
Sem esquecer o elementaryOS, um recém-chegado que atende mais aos usuários recentes do que aos usuários de Linux de longa data.
Muitos dos aplicativos de código aberto mais populares integram-se melhor a desktops baseados em GTK. Isso inclui programas como Firefox, Thunderbird, LibreOffice e GIMP. Outros aplicativos baseados em GTK e multiplataformas são AbiWord, Inkscape e Pidgin.
Há um grau crescente de diversidade entre os aplicativos do GTK +. O software projetado especificamente para o GNOME pode parecer fora de lugar mesmo em outros desktops baseados em GTK. Isso porque as diretrizes do Human Interface Design do GNOME desencorajam o uso de menus e introduzem outras mudanças menos comuns.
Também sabemos que muitos aplicativos destinados a elementaryOS não estão disponíveis para outros desktops.
Enquanto isso, a maioria das ferramentas GTK + de plataformas cruzadas já mencionadas permanece relativamente independente de desktop. Isso significa que elas parecem fora de lugar no GNOME e elementaryOS, devido à ênfase que ambos colocam em ter um design exclusivo.
Desktops e Software Baseados em Qt
A área de trabalho do KDE Plasma é o mais antigo e completo ambiente para Linux. Mais de duas décadas depois, a comunidade KDE continua a fornecer um desktop Linux muito rico em recursos.
Com tão poucos desktops baseados no Qt, muitos aplicativos (do Qt) são projetados especificamente para a área de trabalho do Plasma. Além disso, podem até depender de vários componentes do KDE. Por essa razão, a integração de software do KDE está entre as melhores de qualquer desktop.
Você pode fazer ajustes de interface que afetam todos os aplicativos ou pode ajustar um aplicativo em particular até se sentir confortável. Dito isto, o desktop Plasma não é o único que utiliza o Qt. O LXQt é uma alternativa que se concentra em ser mais leve e simples.
Enquanto alguns softwares do KDE são multi-plataforma, esses programas não são tão conhecidos fora da comunidade Linux. As exceções mais notáveis podem ser o Krita e o digiKam.
Nem todos os softwares da Qt são projetados especificamente para o KDE. Tais programas incluem o media player VLC e o aplicativo de editoração eletrônica Scribus.
Quanto custa a diferença?
Existem diferenças técnicas entre o GTK + e o Qt, mas a maioria delas interessa mais aos desenvolvedores do que o resto de nós. Então, as limitações são ainda mais difíceis de perceber do que costumavam ser. Graças ao excelente tema, muitos aplicativos GTK + agora parecem em casa no desktop Plasma baseado em Qt. Alguns desses aplicativos parecem mais em casa no Plasma do que no GNOME.
Enquanto isso, você também pode instalar o Scribus ou o VLC em um desktop baseado em GTK sem perceber que há uma diferença nos bastidores.
Mas pequenas incompatibilidades aparecem de tempos em tempos. Os aplicativos podem abrir uma janela do seletor de arquivos diferente quando você está procurando um arquivo para abrir. Os ajustes nos temas do sistema podem se aplicar a determinados aplicativos, mas não a outros. Quanto mais você mexer com o seu desktop, mais peculiaridades podem aparecer.
Em última análise, essa questão de saber se preferir o GTK + ou o Qt realmente se resume a escolher sua interface de desktop favorita e seus aplicativos favoritos do Linux.