• [^] # Re: Un air de renouveau, oui, mais de quelle année ?

    Posté par . En réponse à la dépêche GNOME 2.24 : un air de renouveau. Évalué à 3.

    Mon expérience remonte à 2-3 ans, mais à l'époque j'ai dû faire un GUI assez simple, j'ai fait un proof of concept en gtk2 avec C et en qt3 avec C++.

    Les problèmes que j'ai rencontré en gtk ont été les suivants:
    * Des bugs: Je suis tombé sur des bugs de gtk, alors que pour qt, je n'ai pas eu de soucis au niveau du toolkit.
    * Des inconsistances de l'API: des passages de paramètres dans des ordres différents pour des fonctions proches, des noms de fonctions différents, ou encore des valeurs retournées différentes entre 2 fonction, alors qu'elles ont des rôles proches => J'avais le nez dans la doc pour écrire quelque chose.
    * Des duplicats: par exemple, à l'époque, il y a avait 3 façons différentes d'avoir une fenêtre "ouvrir", qui étaient les 3 différentes, avec des bugs différents.
    * Glade, qui est (était ?) réellement un cran inférieur à QtDesigner en terme de possibilités.
    * Plus complexe à développer avec GObject, car c'est du pseudo-objet, sans les possibilités d'héritages, ce qui est pour moi une des principales raisons du dev objet.

    Finalement, j'ai fait du Qt, car je n'avais pas eu toutes ces embuches.
    Peut-être que j'ai mal utilisé Gtk, mais à l'époque ça m'a vraiment donné l'impression d'un toolkit moins fini par rapport à Qt.
    J'ai l'impression que Gnome s'est orienté vers la simplicité de l'interface, justement parce que cela demande du temps de faire du GUI avec Gtk.

    Peut-être qu'utiliser un binding objet de Gtk simplifie le problème, je ne sais pas, ou peut-être que Gtk 3 corrigera ces défauts, mais pendant que Gtk se transforme, Qt est déjà en train de résoudre d'autres problèmes.

    Mais Gtk n'est pas le pire toolkit, loin de là, mes expérimentations avec WxWidgets ont été pire.

    En tout cas, si tu veux faire une appli multi-plateforme, avec de la 3D, du son, afficher du HTML, de façon très rapide, je te conseille Qt.