Newsletter Developpez.com

Inscrivez-vous gratuitement au Club pour recevoir
la newsletter hebdomadaire des développeurs et IT pro

Un vent de migration : de nombreuses applications GTK passent à Qt
Notamment pour le support multiplateforme et l'intégration à OS X

Le , par LittleWhite, Responsable 2D/3D/Jeux
Ces derniers mois, trois applications GTK ainsi qu'un environnement de bureau sont passés au framework Qt :
  • GCompris, une application éducative pour enfants, structurée en activités ;
  • Subsurface, une application de suivis de plongée, créée par Linus Torvalds ;
  • WireShark, logiciel d'analyse de paquets réseaux ;
  • LXDE, bureau X léger, qui collabore activement avec razor-qt en abandonnant GTK.

Ces trois applications ont un point commun : elles sont multiplateformes. C'est d'ailleurs là la plainte des développeurs contre GTK. En effet, ce framework possède des soucis de rendu sous Windows et OS X. De plus, le support des appareils mobiles (téléphones et tablettes) n'est pas simple à effectuer lors de l'utilisation de GTK.

Pour les développeurs de GCompris, le langage déclaratif Qt Quick est un outil appréciable pour la réalisation des interfaces et même de la logique de l'application (en JavaScript). Le manque de support des plateformes mobiles s'est aussi révélé compromettant pour la suite du projet.

Les développeurs de Subsurface – dont Linus Torvalds, qui n'hésite pourtant pas à crier son amour pour le C++ – ont présenté une conférence à l'occasion du Linux.conf.au 2014, où Dirk Hohndel explique les raisons qui l'ont poussé à passer à Qt.

Du côté de Wireshark, le plus gros problème était l'intégration catastrophique de GTK avec l'interface d'OS X.

Bien entendu, ce changement ne se fait pas du jour au lendemain. Il est bien souvent nécessaire de recoder le cœur de l'application. Ce genre d'opération pourrait prendre des années, comme celle qui a mené Netscape à l'extinction.

Toutefois, chacun de ces projets avance à bon train, comme vous pourrez le constater sur leur dépôt. Ils considèrent tous ce changement comme bénéfique. GCompris proposera d'ailleurs des activités pour le prochain Google Summer of Code. Si le cœur vous en dit, n'hésitez plus à apprendre Qt ou Qt Quick et venir aider un projet open source !

Sources : Blog Wireshark, Blog LXDE, GCompris

Voir aussi : la vidéo de la conférence de Dirk Hohndel.

Et vous ?

Quel framework préférez-vous ?
Quelles difficultés rencontrez-vous lors de la migration de vos projets ?
Comment envisageriez-vous une telle migration si vous deviez la faire ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de Jiyuu Jiyuu - Rédacteur/Modérateur https://www.developpez.com
le 18/02/2014 à 11:38


Je suis de plus ou moins loin l'évolution de LxQt (le nom de LXDE en version Qt) que l'on retrouve déjà dans certaines distributions en version "test", et j'attends avec impatience que le projet soit plus mûr.

Pour ma part, j'utilise Qt (enfin PyQt) depuis quelques temps déjà et il faut bien dire que ce framework offre beaucoup d'avantages, est très complet et très mature. Je trouve donc tout à fait normal que des applications GTK+ passent peu à peu à Qt d'une manière globale.

Mais l'arrivée Qt Quick va, selon moi, encore boulverser bien plus le monde du framework.

En effet, sa simplicité, sa portabilité (y compris sur des appareils mobiles) et sa constante amélioration vont en faire une solution quasi inévitable pour beaucoup de développeurs. Je pense même que la migration ne se limitera pas aux applications écrites en GTK ou autre, mais touchera aussi et logiquement les applications écrites en pur Qt (QtGui, QtWidgets, ...). En tout cas c'est mon cas.

Pour ma part, je reprends actuellement un projet initialement écrit en PyQt pour le transcrire en "PyQuick". Bien que le projet en lui-même ne soit pas très compliqué, cela demande beaucoup de travail car les outils offerts par Qt Quick me permettent, petits à petits, de refaire les GUI de mon application mais aussi d'aller au-delà et ainsi de réduire la proportion de code Python. L'intêret :
  • une éventuelle portabilité vers du C++ plus aisée à faire si cela venait à être nécessaire ;
  • quelques tests très succints me poussent à croire que Qt Quick et en particulier le langage qu'il supporte (QML) est plus performant que Python
Avatar de valkirys valkirys - Membre expérimenté https://www.developpez.com
le 19/02/2014 à 12:40
Citation Envoyé par LittleWhite  Voir le message
Un vent de migration : de nombreuses applications GTK passent à Qt

Il n'y en a que 4 c'est pas encore un avis de tempête...

Citation Envoyé par LittleWhite
LXDE, bureau X léger, qui collabore activement avec razor-qt en abandonnant GTK.

S'ils pouvaient en profiter pour faire tourner ça sous windows ou mac osx ça serait super
Avatar de Atem18 Atem18 - Membre averti https://www.developpez.com
le 19/02/2014 à 13:04
Citation Envoyé par valkirys  Voir le message
Il n'y en a que 4 c'est pas encore un avis de tempête...

T'as aussi Ubuntu.
Avatar de KsassPeuk KsassPeuk - Membre actif https://www.developpez.com
le 19/02/2014 à 13:10
Citation Envoyé par LittleWhite  Voir le message
Les développeurs de Subsurface – dont Linus Torvalds, qui n'hésite pourtant pas à crier son amour pour le C++

Chaque fois que je vois une news où l'on attribue des citations à ce type, je le déteste plus. J'adore Linux, j'aime vraiment bosser avec, mais je trouve ce type parfaitement haïssable.
Avatar de azias azias - Membre éclairé https://www.developpez.com
le 19/02/2014 à 13:25
Etant développeur Qt et n'ayant jamais compris quels pouvaient être les avantages de Gtk, je trouve ça très bien. De la même façon que je trouve très bien que les applis qui abandonnent la surcouche KDE pour s'appuyer directement sur Qt, à part pour certaines choses bien précises, la surcouche KDE n'apporte rien et Qt a l'avantage de rendre assez simple le portage sur plusieurs plateformes.

En revanche je m’interroge sur la remarque dans l'article:

Citation Envoyé par LittleWhite  Voir le message
Les développeurs de Subsurface – dont Linus Torvalds, qui n'hésite pourtant pas à crier son amour pour le C++

Qt c'est du C++ !! Maintenant avec QtQuick on peut faire des applications simples sans faire du code C++ mais ça reste encore assez limité, la couche métier reste en C++ en général (ne serait-ce que pour réutiliser l'existant ou se connecter à d'autres bibliothèques)
Avatar de vingt sens vingt sens - Membre du Club https://www.developpez.com
le 19/02/2014 à 15:32
@olreak: que Linus crie son amour pour le C++ est ironique. il suffit de cliquer sur le lien pour s'en rendre compte. De plus il préfére les langages bas niveau, tout le contraire de ce que permet QtQuick.
Avatar de Markand Markand - Membre actif https://www.developpez.com
le 20/02/2014 à 9:52
En même temps quand on voit la tronche d'un code Gtk... C'est absolument horrible, déjà l'idée d'avoir voulu faire un toolkit en C est à mon avis une très mauvaise idée. Avec l'absence de namespace et de techniques modernes on est obligé de bricoler. Et déclarer une simple "classe GObject" nécessite une tonne de code.
Avatar de Jiyuu Jiyuu - Rédacteur/Modérateur https://www.developpez.com
le 20/02/2014 à 10:32
Citation Envoyé par olreak  Voir le message
Maintenant avec QtQuick on peut faire des applications simples sans faire du code C++

Et ça c'est vraiment le top. Et j'ajouterai même sans faire du code Python pour les Pythoniens utilisant PyQt.

Citation Envoyé par olreak  Voir le message
mais ça reste encore assez limité, la couche métier reste en C++ en général (ne serait-ce que pour réutiliser l'existant ou se connecter à d'autres bibliothèques)

En ce qui concerne l'existant et la connexion à d'autres biblio je suis tout à fait d'accord avec toi, mais Qt Quick devient de plus en plus "autonome". Il suffit de voir l'évolution entre la version de Qt 5.0 et celle de Qt 5.2... et je ne parle pas de celle entre la version Qt 4.8 et Qt 5.2, car là c'est limite passer de GTK à Qt

Je réalise une GMAO simpliste pour mon taf et aujourd'hui la seule chose essentielle qui me manque pour faire tourner l'appli en pur Qt Quick (cad sans passer par Python) est la gestion d'une base de données PostgreSQL.

Ensuite se pose le problème de la distribution (standalone ???), mais de toutes façons c'est déjà actuellement un problème. Je n'ai pas encore cherché à trouver les dépendances pour faire tourner qmlscene en standalone.

Bref, Qt Quick c'est juste formidable ... il ne manque plus qu'il soit réellement "natif" sur les appareils mobiles, j'entends par là que l'on ne soit pas obligé de passer par une couche java, même si aujourd'hui Qt Creator fait tout à notre place et de manière quasi transparente.
En gros, quel bonheur ça serait que mon Galaxy S3 puisse directement lire mes code QML
Avatar de imikado imikado - Rédacteur https://www.developpez.com
le 20/02/2014 à 21:13
Tant que des projets comme Gnome et Xfce continuent sous GTK, il n'y aura pas de vague d'adoption pour Qt
Après je comprends que certains préfèrent developper avec un IDE comme QtCreator que via les outils de Gtk
Avatar de Jiyuu Jiyuu - Rédacteur/Modérateur https://www.developpez.com
le 21/02/2014 à 0:10
Citation Envoyé par imikado  Voir le message
Tant que des projets comme Gnome et Xfce continuent sous GTK, il n'y aura pas de vague d'adoption pour Qt

Tu peux développer ton argument car là je vosi pas trop où tu veux en venir...

Citation Envoyé par imikado  Voir le message
Après je comprends que certains préfèrent developper avec un IDE comme QtCreator que via les outils de Gtk

Tu crois franchement que les developpeurs travaillent avec un langage ou un framework parce que l'IDE phare est mieux ??? Très sincèrement si c'est le cas, alors là on touche le fond.

Pour moi un framework ou un langage est choisi par rapport à ce qu'il permet de faire, comment il le permet et et les connaissances que l'on peut avoir sur le langage ou la biblio en queston. Je pense que Gnome et XFce ont été développés en GTK car à l'instant T c'était ce framework qui répondait au mieux aux attentes des développeurs. Tu proposes à ces mêmes personnes le même boulot avec les mêmes connaissances de bases aujourd'hui je mets ma main à couper qu'ils choisissent Qt Quick.

Exemple très simple de ce que j'avance : Le développement d'appli mobile. Sauf erreur de ma part, à ce jour seul Java permet de faire des applis mobiles sans passer par je ne sais quel tour de magie : faut complètement être taré pour coder en Java , alors qu'une appli Qt Quick est si simple à faire.
Offres d'emploi IT
Responsable protection des données H/F
Safran - Ile de France - Magny-les-Hameaux (78114)
Ingénieur conception en électronique de puissance H/F
Safran - Ile de France - Moissy-Cramayel (77550)
Responsable transverse - engagement métiers H/F
Safran - Ile de France - Corbeil-Essonnes (91100)

Voir plus d'offres Voir la carte des offres IT
Responsable bénévole de la rubrique Qt : Thibaut Cuvelier -