Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Qt Quick et la 3D
Une vidéo démontre ses époustouflantes capacités en 3D, la réalité est-elle aussi rose ?

Le , par yan

0PARTAGES

0  0 
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...10/qml3d-demo/

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

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de kwent78
Membre à l'essai https://www.developpez.com
Le 10/08/2010 à 20:34
Punaise, ils font vraiment fort là ...
0  0 
Avatar de haraelendil
Membre averti https://www.developpez.com
Le 11/08/2010 à 9:12
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
0  0 
Avatar de TanEk
Membre expérimenté https://www.developpez.com
Le 11/08/2010 à 9:30
Ç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?
0  0 
Avatar de yan
Rédacteur https://www.developpez.com
Le 11/08/2010 à 9:38
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
0  0 
Avatar de yan
Rédacteur https://www.developpez.com
Le 11/08/2010 à 9:45
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
0  0 
Avatar de _skip
Expert éminent https://www.developpez.com
Le 11/08/2010 à 11:41
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.
0  0 
Avatar de gbdivers
Inactif https://www.developpez.com
Le 11/08/2010 à 12:50
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-sna...ot/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 )
0  0 
Avatar de _skip
Expert éminent https://www.developpez.com
Le 11/08/2010 à 14:13
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...
0  0 
Avatar de yan
Rédacteur https://www.developpez.com
Le 11/08/2010 à 16:09
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.
0  0 
Avatar de betsprite
Membre averti https://www.developpez.com
Le 11/08/2010 à 16:46
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 ?
0  0 
Responsable bénévole de la rubrique Qt : Thibaut Cuvelier -

Partenaire : Hébergement Web