Qt ou GTK

Qt qui s’écrit comme je viens de le faire, et surtout pas QT comme beaucoup de français le font. Cela veut dire qu’ils ne comprennent même pas ce que cela veut dire, en effet Qt se prononce « cute » et qui signfie mignon. GTK s’écrit comme je viens de le faire car c’est un acronyme pour Graphic Tool Kit.

Les deux « outils » permettent de créer des interfaces utilisateurs graphique (GUI), c’est à dire des fenêtres en gros, avec tout ce qu’il faut dedans (bouton, case à cocher, etc). GTK est créé à l’origine pour GIMP, Qt a été développé par Trolltech et est à présent dans les mains de Nokia. Qt possède une license commerciale mais aussi Open source pour les projets libres.

Qt est utilisé par KDE, c’est l’outil principal utilisé pour les fenêtres, et GTK est utilisé pour Gnome. Cela donne l’impression qu’une application GTK ne fonctionnera pas sur KDE et réciproquement (une application Qt sur Gnome). C’est faux heureusement, sauf si l’application utilise des fonctionnalités propres à l’environnement de bureau (par exemple KatePart qui est un composant de KDE comme on a pu le voir tout à l’heure). Par contre il va y avoir une différence de rendu visuel: le thème. Une application GTK sera moche sur KDE, et une application Qt sera moche sur Gnome… ou pas. Qt 4+ est cute sur beaucoup d’environnements, dont Gnome. Il s’adapte parfaitement, à quelques exceptions prêts. Par contre GTK est moche de partout, sauf sur Gnome. Même sur Windows, c’est moche, mal intégré, mais ça marche et c’est l’essentiel (sauf pour le grand public). Bon ce n’est pas toujours si moche, pidgin est assez correct mais on sent qu’il est différent des autres applications KDE.

Un autre problème est si vous êtes sur KDE par exemple, et que vous voulez utiliser une et seulement une seule application GTK, il va falloir télécharger tous les paquets GTK. Cela représente des mégaoctets, juste pour une seule application. C’est d’ailleurs également valable pour Windows, à la différence sur linux, c’est que cela fonctionne par paquet, qui eux sont dépendants de la distribution, et si la distribution est pourrie alors GTK a mal été packagé et l’installation de GTK peut faire plusieurs centaines de méga. C’est réciproque pour Qt pour un environnement Gnome, alors la solution consiste à utiliser une meilleure distribution.

Sur linux il y a donc des trolls entre Qt et GTK, de qui est mieux, du pourquoi, du comment. Que Qt est maintenu par Nokia et non par la « communauté » (pas de l’anneau). Mais d’un autre coté cela stimule la compétition, tout en fragmentant les applications: il y a généralement deux versions d’une application: une en Qt, une en GTK, quand ce n’est pas 50 en Qt, 50 en GTK, et 25 avec des toolkits nouveaux ou exotiques.

Lequel est mieux, lequel est pire ? Généralement avec cette question facheuse, le camp qui se sent du coté du pire va tout simplement répondre: il y a des besoins différents… qui est pourtant le même: afficher une fenêtre et des boutons. Derrière cela se cache d’autres raisons, si c’est Qt le pire:

  • soit parce qu’on a pas envie d’apprendre un nouvel outil par fénéantise ou par manque d’utilité (à quoi bon connaître deux outils identiques)
  • soit parce qu’on aime pas Qt
  • soit parce qu’on est dans l’idéologie libriste et on refuse de toucher à Qt car c’est Nokia qu’il le gère (note: mais accepte les contributions externes)
  • soit parce que c’est pour le plaisir de la diversité
  • soit parce qu’on a participé à GTK et qu’on ne le laissera pas tomber par principe

ou toutes autres raisons auxquelles je ne pense pas actuellement. Pour GTK c’est la même chose, sauf pour l’idéologie libriste. Pour ma part, j’ai du mal à comparer les deux, je me suis servi de GTK à l’université et j’ai détesté, et je me suis servi de Qt et j’ai accroché. La notion Signal/Slot est très puissante, bien que l’on retrouve presque la même chose dans GTK, mais surtout Qt est un framework plutot qu’un simple outil dédié à l’UI, qui du coup peut sembler plus lourd mais il est découpé en module et permet de faire beaucoup plus de choses en beaucoup moins de lignes. Le framework Qt est cross-plateforme, utiliser ce que fourni le framework est alors préférable pour faciliter le portage.

Voici deux applications que j’apprécie et qui fonctionnent aussi bien sur Windows que Linux: Mumble et KVirc. Une application bien utile en GTK était aMSN, entièrement mal intégrée quand utilisée sur Windows, et pire sur KDE.

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :