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

Qt Quick Discussion :

Les interfaces modernes déclaratives s'ouvrent à la 3D


Sujet :

Qt Quick

  1. #1
    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 Les interfaces modernes déclaratives s'ouvrent à la 3D
    Avec la sortie imminente de QML et de Qt 4.7, il serait peut-être temps de dévoiler les dernières avancées de nos travaux pour le support de ce nouveau paradigme de conception dans Qt dans la contrée si spéciale du graphisme.

    En novembre 2009 était présenté Qt/3D, un set d'outils pour faciliter le développement de graphismes 3D dans des applications Qt. La plupart de ses fonctionnalités sont déjà intégrées dans Qt, de nouvelles sont prévues au vu de l'engouement général pour ce framework. À cette époque, QML/3D était déjà vu comme la prochaine étape logique du développement d'applications 3D. Depuis lors, un prototype avancé et fonctionnel est disponible.

    Il faut remarquer que ce framework est loin d'être un framework de développement applicatif bien huilé, même s'il prouve que du contenu 3D peut être facilement intégré à des applications et que même le plus novice des développeurs peut intégrer la 3D dans son application, toute la partie plus technique est gérée par Qt/3D.

    [ame]http://www.youtube.com/watch?v=OXcxFZbKUNI[/ame]

    Un peu plus d'info : http://labs.trolltech.com/blogs/2010/08/10/qml3d-demo/

    Extrait de la discussion Qt Quick : le futur du développement d'IHM (anciennement Declarative UI).

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 19
    Points : 18
    Points
    18
    Par défaut
    Punaise, ils font vraiment fort là ...

  3. #3
    Membre confirmé
    Avatar de haraelendil
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2004
    Messages
    283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2004
    Messages : 283
    Points : 533
    Points
    533
    Par défaut
    lol, énorme le tuto^^

    Bah ouai, la ça devient de plus en plus ouf leur truc, on va pouvoir tout faire avec ça si ça continue comme ça lol

  4. #4
    Membre expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2006
    Messages
    450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 450
    Points : 1 630
    Points
    1 630
    Par défaut
    Ça a l'air tres prometteur mais pour moi il y a trois inconnus qui me font tres peurs et qui sont pour moi eliminatoires:
    • est-ce que c'est assez rapide pour faire tourner de complexes applications?
    • est-ce que ça scale (genre y'a pas un algo non lineaire qui traine la-dedans)?
    • ou sont les outils de profiling and debugging?
    Je ne réponds à aucune question par MP, posez vos questions sur le forum adéquat.
    Profils : G+ - LinkedIn

  5. #5
    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 kwent78 Voir le message
    Punaise, ils font vraiment fort là ...
    Je trouve que cela montre la maturité précoce de QML. Ça donne envie!!
    En tous cas ils ont du bien tripper pour faire cette vidéo

  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 TanEk Voir le message
    est-ce que c'est assez rapide pour faire tourner de complexes applications?
    qml est juste un pseudo language qui permet d'instancier les classe Qt + du script à base de javascript(normalement optimisé par le moteur du webkit). Rien n'empêche de ne faire que la partie IHM en QML(qui est le but en faite) avec du code métier. Donc je dirais oui on peut faire des appli complexe. Si tu regardes les diverses vidéos, il y a quelques exemples assez intéressants.


    est-ce que ça scale (genre y'a pas un algo non lineaire qui traine la-dedans)?
    C'est à dire? tu parles du module 3D ?

    ou sont les outils de profiling and debugging?
    Profiling, propre à qml je ne sais pas. Sinon c'est du profiling C++.
    Debugging : C'est proposé avec QtCreator

  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
    Je vois totalement l'intérêt de l'UI declarative, en revanche il serait bien qu'il soit possible de faire la partie métier (event et autre) côté C++. A priori c'est le but mais je n'ai pas encore vu d'exemple concret de comment la *glue* se fait.

    Une bonne approche serait de pouvoir designer une fenêtre, puis de pouvoir récupérer des pointeurs sur les widgets déclarés par leur nom ou leur ID. De là on pourrait leur associer leur slot et le code métier.
    Ca donnerait une superbe ouverture pour adapter les écrans au client final sans avoir à recompiler. Et même en standard, avoir différents jeux d'UI pour une fonctionnalité, par exemple la version simplifiée et la version exhaustive d'un même écran.

    Ca ce serait fantastique, mais je ne suis pas encore sûr que quick aille réellement dans ce sens.

  8. #8
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Points : 15 620
    Points
    15 620
    Par défaut
    Les développeurs de Qt ont bien fait les choses ; il est possible de choisir l'approche que l'on souhaite :
    - une application entièrement en QML (le QML est relativement complet et intèrgre par exemple la communication réseau et l'accès aux bases de données)
    - une application en C++ qui utilise une interface QML, par exemple en affichant l'UI QML dans une QDeclarativeView (voir http://qt.developpez.com/doc/4.7-snapshot/qtbinding/l)
    - une application QML qui utilise des objets C++, par exemple des objets métier (voir http://qt.developpez.com/doc/4.7-sna...tutorial-index)

    Et comme la communication entre le C++ et le QML est complète, on peut faire ce que l'on veut en terme d'UI (les possibilités du QML ne sont limités que par Qt et le C++... donc pas très limitées )

  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
    J'ai jeté un oeil aux exemples, je dois dire que je suis moyennement convaincu. Certains me donnent vraiment l'impression d'être des méli-mélos script/C++ assez moches.
    Le genre qui pourrait vite devenir du code spaghetti totalement intestable, avec l'UI qui s'adapte après notification à des changements induits par le code c++ et vice versa.

    A mon avis, ce framework QML devra être utilisé avec beaucoup de prudence si on veut une séparation claire entre l'affichage et le code métier.
    Wait and see...

  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
    QML est un langage de script. Il est interprété et non compilé. Il n'a rien à voir avec les spécificités du C++.

    Comme je le comprends, QML est développé pour la création d'ihm nouvelle génération. Le fait de pouvoir faire du code métier sous forme de javascript est plus une démonstration de ses capacités ou pour la création de plugin.

    Tu peux voir QML comme un langage de script qui va interfacer ton code métier. C'est une forme plus aboutie de l'utilisation de Html/css/javascript pour créé une ihm et manipulant du code métier par introspection au travers du JS.

    Le gros intérêt que je vois est la possibilité
    • de laisser le développement d'un ihm à des graphistes pendant le développement du coeur par les développeur. Et donc d'avoir une séparation forte.
    • de la modifier(ou patcher) rapidement pendant une réunion (exemple de la dernière démo). Ça peut donner une base de discussions très interactive.
    • de maquetter très rapidement 'une ihm avec des proposition d'ergonomie.


    Je dis pas que QML est magique , mais que je trouve l'idée très prometteur.

  11. #11
    Membre confirmé
    Avatar de betsprite
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    472
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 472
    Points : 528
    Points
    528
    Par défaut
    Les démos proposées sont assez impressionnantes !

    Je me pose cependant une petite question :

    Tu peux voir QML comme un langage de script qui va interfacer ton code métier
    * Il sera donc envisageable d'utiliser QML avec des interfaces Qt déjà conçu grâce notamment au module QtGui ou la flexibilité offerte de ces interfaces du futur implique-t-elle un changement important des interfaces préconçues ?

  12. #12
    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 betsprite Voir le message
    * Il sera donc envisageable d'utiliser QML avec des interfaces Qt déjà conçu grâce notamment au module QtGui
    Oui. C'est une nouvelle méthode complémentaire. Donc rien n'empêchera de les mixer.


    Citation Envoyé par betsprite Voir le message
    ou la flexibilité offerte de ces interfaces du futur implique-t-elle un changement important des interfaces préconçues ?
    Je dirais oui et non. tous dépend de ce que tu veux faire. Je remets deux vidéo qui pourraient t'intéresser :

  13. #13
    Membre à l'essai
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2010
    Messages : 7
    Points : 21
    Points
    21
    Par défaut
    Pour info, ça va faire 6 mois que je fais de la R&D sur Qml et je dois dire que c'est assez impressionnant au niveau de la rapidité de développement et aussi de la fluidité du rendu final.
    Il y a encore beaucoup de défauts mais globalement ça va dans le bon sens.
    Les extensions en C++ sont relativement simple à réaliser, même si ce n'est pas encore parfait...
    La 3D apporte une nouvelle couche non négligeable.

    Ceci dit, de là à dire que les graphistes pourront eux-même développer.... je n'en doute pas, mais d'un point vue architecture.... je préfère les laisser à leurs Photoshop...

    Maintenant je me demande parfois si une QWebView avec un bon support HTML5 n'irait pas plus dans le sens actuel de l'évolution de l'IHM, à savoir un monde entièrement connecté ou l'on va vers un langage d'interface unique le HTML5... Donc oui le QML c'est super mais est-ce qu'a terme il ne deviendra pas inutile... ou alors devra-t-on voir un jour l'apparition d'un QMLPlayer dans les navigateurs (on pourrait même déjà le faire...)

    Il y a un autre avantage, c'est que pour tout ceux qui comme moi détestent le powerpoint, et qui faisait leur présentation avec un peu de flash, il peuvent les faire en QML, et quand on a l'habitude c'est vraiment rapide et les effets sont plus fluides et sympas....

  14. #14
    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 chriseveinthow Voir le message
    Ceci dit, de là à dire que les graphistes pourront eux-même développer.... je n'en doute pas, mais d'un point vue architecture.... je préfère les laisser à leurs Photoshop...
    Il faut des graphistes un peu developpeur

    Maintenant je me demande parfois si une QWebView avec un bon support HTML5 n'irai pas plus dans le sens actuel de l'évolution de l'IHM, à savoir un monde entièrement connecté ou l'on va vers un langage d'interface unique le HTML5...
    C'est pas faux. Sur mobile on voit de plus en plus de frameworks qui proposent de faire ton appli en html/css/JS et qui embarquent le tout dans une application. Même en Qt on en entend parler par-ci par-là.


    Donc oui le QML c'est super mais est-ce qu'a terme il ne deviendra pas inutile... ou alors devra-t-on voir un jour l'apparition d'un QMLPlayer dans les navigateurs(on pourrai même déjà le faire...)
    Je pense que c'est un avenir similaire à xaml et co. Difficile à dire, mais pour moi je dirais que oui. La solution html oblige d'utiliser un moteur comme webkit et donc d'ajouter encore un module d'utiliser plus de ressources,.... Alors que qml utilisera les modules de base. Pour un téléphone c'est pas forcement négligeable.
    Sans compter que le jour ou tous les moteur de rendu seront full html5 et compatible est plutôt dans un futur incertain, non?


    Il y a un autre avantage, c'est que pour tout ceux qui comme moi détestent le powerpoint, et qui faisait leur présentation avec un peu de flash, il peuvent les faire en QML, et quand on a l'habitude c'est vraiment rapide et les effets sont plus fluides et sympas....
    Tu aurais une petite démo de ça pour montrer ce que cela donne?

  15. #15
    Membre à l'essai
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2010
    Messages : 7
    Points : 21
    Points
    21
    Par défaut
    Dslé, je n'ai rien que je puisse te publier.

    Mais en projet de publication d'ici quelques temps, une table tactile full QML... mais je rencontre encore quelques limites au niveau du QML pour aboutir le projet, mais globalement, c'est un genre de bureau QML qui gère d'autres appli QML. Rien d'extraordinaire... juste des soucis pour la gestion multitouch..

    J'ai également un jeu simple ou j'ai recréé l'interface de "tout le monde veut prendre sa place" pour une soirée. Pour cette dernière j'ai passé une aprem pour faire l'appli et 1 semaine pour faire marcher le son dans QML... quand on dit que c'est pas au point... enfin bon ça marchait tellement pas que j'ai fait un plugin qui lance un player en ligne de commande....sisi on peut faire vraiment des truc debiles avec QML

    Dans mon cas je n'utilise pas QML comme un simple langage d'interface mais pour réaliser l'ensemble de l'application. Je créé juste un lanceur en C++ et c'est tout.

Discussions similaires

  1. Réponses: 0
    Dernier message: 25/10/2009, 14h53
  2. à quoit sert les interfaces ?
    Par nytmare dans le forum MVC
    Réponses: 13
    Dernier message: 12/09/2004, 11h57
  3. Réponses: 2
    Dernier message: 31/10/2003, 16h32

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