Hi,
je ne connais pas encore QML mais je ne suis pas sûr d'avoir compris, c'est destiné à remplacer la programmation QT avec les qwidget ou c'est autre chose encore ?
Hi,
je ne connais pas encore QML mais je ne suis pas sûr d'avoir compris, c'est destiné à remplacer la programmation QT avec les qwidget ou c'est autre chose encore ?
Remplacer, non.
Compléter, oui.
Techniquement: qml, c'est un QGraphicsView, sauf qu'au lieu de faire du code C++, il faut utiliser un langage proche du javascript qui va générer les objets de ta graphicsview avec le code autour qui va bien (pour les signaux/slots, les animations...)
Le but: permettre à un designer non développeur de faire une interface graphique "moderne" en Qt, sans pondre une ligne de C++. Par moderne, j'entends des ui plus sympas que ce qu'on peut faire avec le designer.
Tout ce qui est faisable en QML l'est également en Qt/C++, mais:
- avec sans doute plus de lignes de code
- moins lisible pour qqn qui ne connait pas Qt
- d'après Nokia moins optimisé
L'inverse n'est pas vrai, QML étant encore limité (le projet Qt Components essaye de remédier à ce problème).
Dernier point: il est possible de lier C++ et QML, le code C++ permettant d'aller modifier le code QML, et inversement, il est possible, en QML, d'aller modifier des objets créés uniquement en C++. C'est justement ce qui permet de laisser le designer faire son interface graphique de son côté en ayant tout de même accès aux objets métiers faits par le développeur C++.
Donc tout dépend du type d'interface graphique que tu veux faire. Si c'est une interface type "application de gestion", austère mais efficace, les QLayouts et les QWidgets sont sans doute le meilleur choix.
Pour faire une application Symbian, Meego ou pour tablette tactile, QML semble plus approprié.
Pourquoi uniquement eux?Le but: permettre à un designer non développeur de faire une interface graphique "moderne" en Qt, sans pondre une ligne de C++.
J'aurais plutôt tendance à dire ce que l'on voie sur le web ou sur les smartphone.Par moderne, j'entends des ui plus sympas que ce qu'on peut faire avec le designer.
+1Donc tout dépend du type d'interface graphique que tu veux faire. Si c'est une interface type "application de gestion", austère mais efficace, les QLayouts et les QWidgets sont sans doute le meilleur choix.
Pour faire une application Symbian, Meego ou pour tablette tactile, QML semble plus approprié.
Si on souhaite ajouter une QGraphicsView dans notre application, le seul avantage à utiliser QML serait donc le nombre de ligne de code plus réduit ainsi qu'une rapidité accrue ?
Autrement dit pour un développeur C++ qui ne travaille pas de concert avec un graphiste/designer, QML ne pérsente pas grand intérêt ?
Ben c'est déjà pas mal comme avantages, non ?
Tout dépend aussi du background du développeur: quelqu'un qui vient de .net, l'association QML/C++ ressemble un peu à l'association xaml/c#, certains seront plus à l'aise ainsi.
Cela permet aussi de bien marquer la séparation entre la couche présentation (QML) et la couche métier (C++) ; le temps de compilation est aussi (à priori, je n'ai pas essayé) plus rapide, le QML étant compilé à la volée lors de l'exécution.
qt set met aussi au JIT mais où va t-on ?! autant faire du C#![]()
Attention je parle que du javascript que l'on utilise dans QtScript ou dans un QWeb*
Comme QML c'est du script, ça devrais exploiter le JIT pour rendre le script plus rapide à l’exécution. Maintenant, quasi tout les browser web compile le JS pour optimiser le rendu des page web.
Je ne voie pas le rapport avec C#.
le rapport avec C# est que la JVM de C# est équipé d'un JIT.
Je suis surpris qu'un exe C++/Qt puisse avoir un système de JIT.
Partager