IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Affichage des résultats du sondage: Quel binding utilisez-vous pour quel langage ?

Votants
12. Vous ne pouvez pas participer à ce sondage.
  • Python : PyQt

    1 8,33%
  • Python : PySide

    1 8,33%
  • Python : PythonQt

    0 0%
  • Java : QtJambi

    0 0%
  • DotNet : Qyoto, qt4dotnet

    0 0%
  • D : QtD

    0 0%
  • Haskell : QtHaskell

    0 0%
  • Un autre langage

    0 0%
  • Je n'en utilise pas, je n'en ai pas besoin

    7 58,33%
  • Je n'en utilise pas, je préfère les éviter

    3 25,00%
Qt Discussion :

Les bindings de Qt sont-ils réellement matures ?


Sujet :

Qt

  1. #1
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 617
    Points : 188 587
    Points
    188 587
    Par défaut
    Bonjour,

    Qt est un framework multiplateforme, notamment utilisé pour la création de GUI mais pas seulement, développé principalement pour le C++. Jusqu'à la version 4.5, une version en Java était développée en même temps. C'était alors le premier binding officiel.

    D'autres bindings sont apparus depuis la création du framework : l'un des plus connus, PyQt, développé par River Bank Computing pour le langage Python, qui n'est pas disponible en LGPL, seulement en GPL 2/3 ou en licence commerciale. Il est fort proche de la version C++, parfois trop, rendant certaines parties très peu "pythoniques". Pour pallier le manque de support de la LGPL, Nokia a mis à disposition PySide, un autre binding Python de Qt, dont l'API est strictement identique, facilitant la migration de l'un vers l'autre.

    Signalons que d'autres bibliothèques fortement utilisées par les utilisateurs de Qt, à savoir Qwt pour les graphiques et Qt Mobility pour le développement sur mobiles sont aussi disponibles : PyQwt pour PyQt et PySide Mobility pour PySide.

    Il existe encore toute une série d'autres bindings de Qt, aux états d'avancement fort différents : QtAda pour Ada, Qyoto et qt4dotnet pour le framework DotNet (principalement C#), QtD pour le D, QtHaskell pour le Haskell, QtRuby pour Ruby, etc.

    Certains sont parfois des montages un peu fallacieux :
    Citation Envoyé par _skip Voir le message
    Le binding .Net est QtJambi compilé avec IKVM, ce qui fait quand même beaucoup de bidules expérimentaux empilés.
    Et vous, de votre côté, qu'en pensez-vous ? Utilisez-vous des bindings Qt pour un autre langage ?
    S'y intègre-t-il relativement bien ? Vous permet-il d'écrire du code d'une manière semblable à une API prévue pour ce langage ? N'y a-t-il pas d'incompatibilité de paradigme ? Qt est prévu pour des langages orientés objet, ne pose-t-il pas de problème particulier aux langages fonctionnels, logiques... ?
    Est-il suffisamment stable pour une utilisation quotidienne ? Sa structure lui permet-elle d'atteindre cette stabilité sans surcouche de surcouche ?

    Voir aussi

    La rubrique Qt de Developpez.com
    La rubrique Python de Developpez.com
    Une introduction à PyQt, par Olivier Girardot

    PySide
    PyQt
    PythonQt
    Feu QtJambi
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  2. #2
    Expert éminent
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Points : 7 752
    Points
    7 752
    Par défaut Les bindings de Qt sont-ils réellement matures ?
    Cet article m'a fait réalisé que les bindings semblent en fait assez aboutis, je pensais à tort qu'ils n'étaient pas tant plus que des proof of concept

  3. #3
    Membre confirmé

    Profil pro
    Développeur Java
    Inscrit en
    Mars 2010
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 87
    Points : 537
    Points
    537
    Par défaut
    très honnetement je les trouve très agréable à utiliser, et surtout rapide et peu verbose. Un peu dans l'esprit pythonique.

    Une chose regretable c'est peut-être le fait que ce soit des bindings et pas des projets indépendants comme QtJambi, mais bon l'intéraction en c++ est tellement simple que ça se comprend aussi.

  4. #4
    Expert éminent
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Points : 7 752
    Points
    7 752
    Par défaut
    Il y a juste un petit bémol dans la licence commerciale, le fait qu'on te demande de livrer ton application avec un runtime python signé.

    Mais python s'en sort bien avec son binding Qt, c'est peut être le langage qui tire le mieux son épingle du jeu. Côté java, QtJambi a été stoppé et franchement j'ai pas une grosse confiance en son avenir communautaire. Puis le binding .Net est QtJambi compilé avec IKVM, ce qui fait quand même beaucoup de bidules expérimentaux empilés.

    Et d'autres relèvent carrément de la plaisanterie.

  5. #5
    Membre confirmé

    Profil pro
    Développeur Java
    Inscrit en
    Mars 2010
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 87
    Points : 537
    Points
    537
    Par défaut
    Pour le coté commerciale de la chose, je trouve très bonne l'initiative de Nokia autour de PySide qui en plus d'être en LGPL conserve une API compatible avec PyQt (qui est plus ancienne).

    Mais c'est sûr que pour l'avenir (et mes prochains articles) je vais plus me focaliser sur PySide vu son coté moins restrictif.

  6. #6
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par _skip Voir le message
    Puis le binding .Net est QtJambi compilé avec IKVM, ce qui fait quand même beaucoup de bidules expérimentaux empilés.
    Pas QYoto. C'est du code C# interfaçant les lib C++. Et ça marche plutôt pas mal. Pour avoir essayé 2-3 fois sous linux c'est même très agréable!!!

    Sous windows c'est encore très compliqué pour compilé les dll .net. Mais j'ai pas encore re-testé . Sous linux c'est déjà tous fait sur la plupart des distribue.

  7. #7
    Expert éminent
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Points : 7 752
    Points
    7 752
    Par défaut
    Citation Envoyé par yan Voir le message
    Pas QYoto. C'est du code C# interfaçant les lib C++. Et ça marche plutôt pas mal. Pour avoir essayé 2-3 fois sous linux c'est même très agréable!!!

    Sous windows c'est encore très compliqué pour compilé les dll .net. Mais j'ai pas encore re-testé . Sous linux c'est déjà tous fait sur la plupart des distribue.
    Oui je l'ai vu...

    Je sais pas trop, l'idée est intéressante mais la présentation du projet est toute pourrie, en plus tous les liens sur la page wiki sont des 404. Bref ça me met pas trop en confiance. Surtout que le multi-plateforme ne semble pas être leur préoccupation.

  8. #8
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par _skip Voir le message
    Je sais pas trop, l'idée est intéressante mais la présentation du projet est toute pourrie, en plus tous les liens sur la page wiki sont des 404. Bref ça me met pas trop en confiance. Surtout que le multi-plateforme ne semble pas être leur préoccupation.
    Il fait son bout de chemin sous linux mais inconnue sous windows. Quelques personnes travaillent sur les modif pour marcher avec windows.

    Vue que C# avec mono se développe de + en + sous linux, je pense que qyoto suit le mouvement et devient petit à petit une alternative intéressante à gtk#.

    Côté portabilité, il y a surtout des problèmes de cmake et de compilateur C++. A part cela il ne devrait pas y avoir trop de problème. Tu devrais même pouvoir compiler l'exe sous linux et l'utiliser sous windows si tu as les dll correspondante sur les deux plateformes.

  9. #9
    Expert éminent
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Points : 7 752
    Points
    7 752
    Par défaut
    La librairie de référence de mono, à savoir gtk# est pas mal puissante déjà et elle-aussi multiplateforme moyennant un déploiement du runtime gtk sous windows. Ce que Qt pourrait apporter sur la table, c'est surtout son éditeur nettement plus puissant que celui de monodevelop je suppose.

    Il faut que je regarde de plus près pour voir jusqu'où ils ont été avec Qyoto, s'ils proposent la conversion des slots en delegate et ce genre de chose...

  10. #10
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par _skip Voir le message
    Il faut que je regarde de plus près pour voir jusqu'où ils ont été avec Qyoto, s'ils proposent la conversion des slots en delegate et ce genre de chose...
    tu peux regarder ici.

  11. #11
    Membre éclairé Avatar de Julien Bodin
    Homme Profil pro
    Devops
    Inscrit en
    Février 2009
    Messages
    474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Devops
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 474
    Points : 843
    Points
    843
    Par défaut
    Utiliser Qt avec Java c'est toujours d'actualité ou c'est mort ?
    Il n'y a plus de support après la version 4.5.

  12. #12
    Membre confirmé

    Profil pro
    Développeur Java
    Inscrit en
    Mars 2010
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 87
    Points : 537
    Points
    537
    Par défaut
    QtJambi (implémentation Java de Qt) n'est plus supporté officiellement par Nokia, néanmoins la communauté est active et le projet continue.

    Après justifier l'utilisation devant un supérieur hiérarchique peut devenir un peu compliqué avec l'arrêt de l'implication de Nokia depuis Mars 2010...
    Mais la communauté est vivante et le projet loin d'être mort.

  13. #13
    Expert éminent
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Points : 7 752
    Points
    7 752
    Par défaut
    Citation Envoyé par o.girardot Voir le message
    QtJambi (implémentation Java de Qt) n'est plus supporté officiellement par Nokia, néanmoins la communauté est active et le projet continue.

    Après justifier l'utilisation devant un supérieur hiérarchique peut devenir un peu compliqué avec l'arrêt de l'implication de Nokia depuis Mars 2010...
    Mais la communauté est vivante et le projet loin d'être mort.
    Personnellement je ne suis pas super optimiste en ce sens car maintenir la version java bien synchronisée avec l'évolution de Qt va demander pas mal de ressources. Il est possible que l'on voit apparaître des soucis dans le support de l'éditeur visuel notamment.

    Honnêtement, professionnellement parlant je préférerai payer une version commerciale maintenue par une véritable entreprise plutôt que faire confiance à la communauté. Ou alors carrément revenir à swing et investir dans un outil comme http://www.formdev.com/.

    Je suis pas anti open-source, mais pour que ça bouge, c'est bien s'il y a un soutien financier solide derrière ainsi qu'une entreprise ayant une vision produit. La preuve, regardez mono, depuis que Novell est derrière ils ont une trentaine de dévs qui sont dessus, ça avance affreusement vite. Rien à voir avec l'époque ou c'était une POC faite par quelques hobbyistes.

Discussions similaires

  1. [PHPMailer] Les accusés de réception sont-ils supportés ?
    Par herudo dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 17/09/2014, 11h38
  2. Réponses: 26
    Dernier message: 11/08/2013, 19h27
  3. Réponses: 41
    Dernier message: 20/09/2012, 16h19
  4. Réponses: 10
    Dernier message: 11/09/2008, 22h16
  5. Réponses: 4
    Dernier message: 09/11/2004, 22h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo