• [^] # Re: je n'ai jamais utilisé wxWidgets

    Posté par (site web personnel) . En réponse à la dépêche wxWidgets 3.0. Évalué à 10.

    J'ai longtemps pensé que l'approche à la WxWidget était la bonne, car le portage vers une nouvelle plate-forme voulait uniquement dire de faire rentrer les contrôles existants dans l'api de WxWidget. Toute la partie look devenait natif et suivait la plate-forme (ce qui faisait taire les râleurs).

    A l'inverse Qt, pour un nouveau portage, doit redévelopper un système d'affichage bas-niveau. Et quand il y a des nouveaux moteurs de look (Win98 -> XP -> Vista -> Seven), il faut redévelopper le moteur de thème pour tirer partie des derniers moteurs. C'est un problème en particuliers quand une plate-forme non majeur sort un nouveau moteur, il se peut que les développeurs de Qt ne soient pas rapides à l'intégrer et on voit alors des trolls surgir sur Linuxfr.

    J'ai cependant complètement changé d'avis avec le temps et à l'utilisation de Qt. Au fur à mesure que Qt a pris en maturité, les contrôles/widgets sont devenus de plus en plus élaborés, bien plus que ceux qu'on trouve en natif sur la plate-forme, battant en brèche un des avantages de WxWidget.

    De plus en terme de debug, les widgets de Qt sont débuggés une fois pour toute, le code étant commun à plusieurs plate-formes, alors qu'il est régulier que Wx se traîne des bugs spécifiques à des plate-formes. Et je ne peux pas les blâmer pour ça, qui peut garantir que par exemple les ascenseurs Windows, MacOs et Gtk soient complètement "unifiables" en terme d’événements envoyés à la pile graphique.

    Au final, la stratégie de Qt paye sur le long terme. Au fur à mesure que le nombre de plate-forme augmente, et le nombre de widget aussi, l'effort de développement côté Qt reste relativement linéaire avec une pente assez douce, car dès que le moteur graphique est porté, tous les widgets suivent instantanément. De même, pour un nouveau look'n feel, Qt a maintenant un moteur de style suffisamment costaud pour absorber beaucoup des dernières nouveautés.

    Pour Wx, chaque nouvelle plate-forme multiple de façon exponentiel le travail de maintenance et d'évolution, car il faut gérer des nouveaux comportements des widgets natifs.

    En tout cas, on constate que :

    • Wx utilise l'approche Qt pour un certain nombre de Widget avancés, qui ne sont pas communs à toutes les plate-formes et doivent être fait en natif.
    • Qt utilise l'approche de Wx pour un très petit nombre de briques, où le choix est proposé entre la version par défaut de Qt ou la version native: dialgue de fichier, system tray, et je sais plus quoi d'autre.

    Tout le monde peut donc se faire des bisous, tout va bien.