Alors quelle est la différence, et les avantages/inconvénient par rapport au autre frameworks.
Le journal donne quelques avantages par rapport a Qt, par example
- Pas besoin du préprocesseur comme Moc. (Mais est-ce que un préprocesseur est vraiment un problème ?)
- Pas besoin d'hériter de QObject. (Ça c'est cool car QObject a un overhead de ~100 octets par objects sur une arch 64bit)
Par contre, un inconvénient de taille est que il faut enregistrer sois même toutes les fonctions manuellement.
Mais qu'en est-il des performances et de l'utilisation de la mémoire ?
Qt ajoute toutes les chaînes de caractère l'une a la suite des autres de manière assez compacte. Et sans presque aucun impact lors du lancement.
CAMP, va éparpier les chaînes un peu partout dans le programme, plus avoir plein de structures sur le tas. (Sans compter aussi
toutes les tables virtueles (mémoire non-partagable entre proccesses))
Et le coût lors du démarrage est il ou non négligable ? (Enregistrements de toutes les classes dans les structures internes + rélocations)
Comptez vous a long terme avoir une compatibilité source ou binaire ?
Je ne conais pas Meego donc difficile de répondre à la question. Mais j'imagine que vu que Nokia est plutôt orienté ARM, une version ARM de meego suivra bientôt.
Ce que je pense c'est que les ingénieurs de Intel ne se dérangent pas pour supporter d'autres matériel, même si ce n'est pas difficile.
> 30 minutes pour compiler un projet en C++, c'est un extreme.
Le projet sur lequel je bosse prends bien plus de 30 minutes.
Heureusement, au bureau, on a une ferme de compilation, donc c'est beaucoup plus rapide.
Et on ne recompile pas l'entièreté du projet à chaque changement.
Qt fonctionne sur différente platformes, dont Linux/X11 et "Embedded Linux"
La différence entre les deux est que "Embedded Linux" utilise le frame buffer, et un système de gestion des fenêtres spécifique.
Mais beaucoup de platformes dite embaquées (comme Maemo, Meego, openmoko, ...) utilisent quand même X11 (pour la compatibilité avec Gtk), donc c'est le port X11 de Qt qui est utilisé.
Il y avais aussi Qtopia, renommé plus tard Qt Extended, qui était une solution applicative complète pour smartphone (chinois). Mais Nokia n'a pas continué le développement de cette platforme après le rachat de Trolltech. Une partie du code est néenmoins réutilisé dans le projet Qt Mobility.
Mais c'est plus ciblé pour l'embarqué, dans lequel on a juste un interface plein écran. Et chaque appli a son propre style.
Mais je regrete également l'absence de style dans QML, alors que les widgets "normaux" de Qt sont si facile à intégrer dans les différents OS/bureaux.
Ce sera peut-être pour une prochaine version.
Je comprends pas pourquoi dis tu que Qt n'est pas adapté pour du contenu dynamique. Il y a plein d'application Qt qui le font (regarde les appli kde, comme amarok)
Qt est aussi pas mal utilisé dans l'industrie du cinéma. http://qt.nokia.com/qt-in-use/qt-in-visual-effects
Le future Maya 2011 est fait avec Qt.
Maintenant, ils ont peut-être tous tord, et tous choisis une technologie inadaptée.
QML est basé sur QGraphicsView, donc pas de changement.
En théorie, la séparation devrais se faire entre QML pour l'interface graphique, et C++ pour la logique. (Mais biensur on est libre de faire un peu de logique en javascript dans QML quand c'est adapté.)
Sinon pour ton problème de mp3 et ogg : oui, il est facile d'instancier des composant différent.
Par ailleurs, sur linuxfr je peux:
[X] surveiller mes ennemis : en lisant les news sur Microsoft ou Apple
[X] LOLer et laché d koms : voir le commentaire de shift< plus haut
[X] raconter sa vie au quotidien : en postant des journaux de seconde page.
[X] ne pas rester à l'écart : grâce au nouvelle de patrick_g sur le noyaux on reste au courant de l'actualité.
[X] rester en contact avec ses amis : les moules
Par contre, "[ ] trouver l'âme soeur" ça me semble difficile voir impossible. sur DLFP.
> j'aime bien les langages compilés [...] on a pas d'erreurs bêtes qui arrivent au milieu du programme (par exemple, une concaténation entre un string et un nombre).
Tu confonds compilation et typage statique. L'un n'implique pas l'autre.
QML utilise ECMAScript, qui est déjà intégré avec Qt depuis longtemps. Donc on a déjà un langage de script.
Et comme c'est prévu pour l'embarqué, les limites des langages de script sont les performances, l'utilisation de la batterie, ...
Donc associer avec un langage compilé comme le C++ c'est du bonheur.
Mais si tu veux quand même faire du Python, pas de problème, il existe des bindings Python.
Le code est plus déclaratif. Il n'y a pas besoin de de s'y connaitre en algorithmes, pas besoin de penser a la gestion de la mémoire, ...
On décrit juste ce que l'on veux.
C'est un peu comme du HTML, ce n'est pas de la programmation.
Je n'ai pas bien lu la documentation du RecursiveSortFilterProxyModel, mais KDE a aussi un KRecursiveProxyModel. Je ne sais pas à quel point c'est pareil.
[^] # Re: Intéressant !
Posté par Gof (site web personnel) . En réponse à la dépêche CAMP 0.7.0 : bibliothèque de réflexion en C++ sous LGPL. Évalué à -1.
# Comparaisons
Posté par Gof (site web personnel) . En réponse au journal CAMP 0.7.0 - Bibliothèque de réflexion C++ sous LGPL. Évalué à 5.
Le journal donne quelques avantages par rapport a Qt, par example
- Pas besoin du préprocesseur comme Moc. (Mais est-ce que un préprocesseur est vraiment un problème ?)
- Pas besoin d'hériter de QObject. (Ça c'est cool car QObject a un overhead de ~100 octets par objects sur une arch 64bit)
Par contre, un inconvénient de taille est que il faut enregistrer sois même toutes les fonctions manuellement.
Mais qu'en est-il des performances et de l'utilisation de la mémoire ?
Qt ajoute toutes les chaînes de caractère l'une a la suite des autres de manière assez compacte. Et sans presque aucun impact lors du lancement.
CAMP, va éparpier les chaînes un peu partout dans le programme, plus avoir plein de structures sur le tas. (Sans compter aussi
toutes les tables virtueles (mémoire non-partagable entre proccesses))
Et le coût lors du démarrage est il ou non négligable ? (Enregistrements de toutes les classes dans les structures internes + rélocations)
Comptez vous a long terme avoir une compatibilité source ou binaire ?
[^] # Re: Chipotage de chipotage
Posté par Gof (site web personnel) . En réponse au journal Test grandeur nature de Nouveau + KDE SC 4.5. Évalué à 5.
[^] # Re: question technique
Posté par Gof (site web personnel) . En réponse au journal Meego 1.0 dispo. Évalué à 2.
Ce que je pense c'est que les ingénieurs de Intel ne se dérangent pas pour supporter d'autres matériel, même si ce n'est pas difficile.
[^] # Re: question technique
Posté par Gof (site web personnel) . En réponse au journal Meego 1.0 dispo. Évalué à 2.
Mais c´est sur que intel et nokia vont donner la priorité à leur platforme
[^] # Re: Idee geniale
Posté par Gof (site web personnel) . En réponse au journal tabnabbing, un nouveau genre de phishing. Évalué à 2.
Sauf si ton PC est verolé, mais alors le problème est autrepart.
De toute façon, comme dit plus haut, avec une IP dynamique c'est pas faisable.
La solution c'est les certificats clients.
[^] # Re: Idee geniale
Posté par Gof (site web personnel) . En réponse au journal tabnabbing, un nouveau genre de phishing. Évalué à 7.
[^] # Re: Dallas...
Posté par Gof (site web personnel) . En réponse à la dépêche Nouvelle version 2.6.34 du noyau Linux. Évalué à 2.
[^] # Re: Une vraie question
Posté par Gof (site web personnel) . En réponse au journal QML: le futur des interfaces graphiques. Évalué à 2.
[^] # Re: Une vraie question
Posté par Gof (site web personnel) . En réponse au journal QML: le futur des interfaces graphiques. Évalué à 2.
Le projet sur lequel je bosse prends bien plus de 30 minutes.
Heureusement, au bureau, on a une ferme de compilation, donc c'est beaucoup plus rapide.
Et on ne recompile pas l'entièreté du projet à chaque changement.
Sinon, si on n'aime pas les erreurs incomprhensible de GCC, il faut essayer clang:
http://fseek.me/2010/03/how-to-convince-any-c-developer-to-d(...)
http://blog.llvm.org/2010/04/amazing-feats-of-clang-error-re(...)
[^] # Re: vendredi
Posté par Gof (site web personnel) . En réponse au journal QML: le futur des interfaces graphiques. Évalué à 3.
La différence entre les deux est que "Embedded Linux" utilise le frame buffer, et un système de gestion des fenêtres spécifique.
Mais beaucoup de platformes dite embaquées (comme Maemo, Meego, openmoko, ...) utilisent quand même X11 (pour la compatibilité avec Gtk), donc c'est le port X11 de Qt qui est utilisé.
Il y avais aussi Qtopia, renommé plus tard Qt Extended, qui était une solution applicative complète pour smartphone (chinois). Mais Nokia n'a pas continué le développement de cette platforme après le rachat de Trolltech. Une partie du code est néenmoins réutilisé dans le projet Qt Mobility.
[^] # Re: Edje
Posté par Gof (site web personnel) . En réponse au journal QML: le futur des interfaces graphiques. Évalué à 2.
> de realiser QEdje qui ont participe a la creation de QML.
QEdje était réalisé par OpenBossa, au brésil.
QML est principalement développé par des anciens dev de Qtopia, en Australie.
Mais c'est vrai que on peu voir sur le blog du dev de QEdje que il fais des truc en QML maintenant [http://blog.morpheuz.cc/]
[^] # Re: vendredi
Posté par Gof (site web personnel) . En réponse au journal QML: le futur des interfaces graphiques. Évalué à 3.
Mais c'est plus ciblé pour l'embarqué, dans lequel on a juste un interface plein écran. Et chaque appli a son propre style.
Mais je regrete également l'absence de style dans QML, alors que les widgets "normaux" de Qt sont si facile à intégrer dans les différents OS/bureaux.
Ce sera peut-être pour une prochaine version.
[^] # Re: Programmation d'interfaces graphiques déclaratives ?
Posté par Gof (site web personnel) . En réponse au journal QML: le futur des interfaces graphiques. Évalué à 2.
Qt Creator est un IDE (qui intègre Qt Designer).
Et je n'ai que brièvement essayer le nouveau designer de QML, donc je ne sais pas répondre à ta question.
[^] # Re: Programmation d'interfaces graphiques déclaratives ?
Posté par Gof (site web personnel) . En réponse au journal QML: le futur des interfaces graphiques. Évalué à 3.
Qt est aussi pas mal utilisé dans l'industrie du cinéma.
http://qt.nokia.com/qt-in-use/qt-in-visual-effects
Le future Maya 2011 est fait avec Qt.
Maintenant, ils ont peut-être tous tord, et tous choisis une technologie inadaptée.
QML est basé sur QGraphicsView, donc pas de changement.
En théorie, la séparation devrais se faire entre QML pour l'interface graphique, et C++ pour la logique. (Mais biensur on est libre de faire un peu de logique en javascript dans QML quand c'est adapté.)
Sinon pour ton problème de mp3 et ogg : oui, il est facile d'instancier des composant différent.
[^] # Re: Linuxfr
Posté par Gof (site web personnel) . En réponse au sondage J'utilise principalement les réseaux sociaux pour. Évalué à 10.
Par ailleurs, sur linuxfr je peux:
[X] surveiller mes ennemis : en lisant les news sur Microsoft ou Apple
[X] LOLer et laché d koms : voir le commentaire de shift< plus haut
[X] raconter sa vie au quotidien : en postant des journaux de seconde page.
[X] ne pas rester à l'écart : grâce au nouvelle de patrick_g sur le noyaux on reste au courant de l'actualité.
[X] rester en contact avec ses amis : les moules
Par contre, "[ ] trouver l'âme soeur" ça me semble difficile voir impossible. sur DLFP.
[^] # Re: Une vraie question
Posté par Gof (site web personnel) . En réponse au journal QML: le futur des interfaces graphiques. Évalué à 5.
Tu confonds compilation et typage statique. L'un n'implique pas l'autre.
# Linuxfr
Posté par Gof (site web personnel) . En réponse au sondage J'utilise principalement les réseaux sociaux pour. Évalué à 5.
C'est un peu paradoxal, non ?
LOL !
[^] # Re: Une vraie question
Posté par Gof (site web personnel) . En réponse au journal QML: le futur des interfaces graphiques. Évalué à 4.
QML utilise ECMAScript, qui est déjà intégré avec Qt depuis longtemps. Donc on a déjà un langage de script.
Et comme c'est prévu pour l'embarqué, les limites des langages de script sont les performances, l'utilisation de la batterie, ...
Donc associer avec un langage compilé comme le C++ c'est du bonheur.
Mais si tu veux quand même faire du Python, pas de problème, il existe des bindings Python.
[^] # Re: Une vraie question
Posté par Gof (site web personnel) . En réponse au journal QML: le futur des interfaces graphiques. Évalué à 8.
Et c'est là la force par rapport des technologies comme Flash, où dès que l'on atteint les limites de ce que l'actionscript peut faire, on est bloqué.
[^] # Re: Edje
Posté par Gof (site web personnel) . En réponse au journal QML: le futur des interfaces graphiques. Évalué à 2.
Le but de QEdje était d'essayé d'intégrer Edje dans Qt. Mais c'est difficile car Edje utilise son propre canevas.
QML est dès le départ prévu pour fonctionner avec Qt, et les éléments sont des QObject et ça utilise le méchanisme des propriété de Qt.
Et Qt peut utiliser l'accélération OpenGL/OpenVG/... alors que le canevas de Edje est purement software il me semble.
[^] # Re: Une vraie question
Posté par Gof (site web personnel) . En réponse au journal QML: le futur des interfaces graphiques. Évalué à 8.
On décrit juste ce que l'on veux.
C'est un peu comme du HTML, ce n'est pas de la programmation.
De plus, l'objectif est de pouvoir éditer ces documents avec un outils graphique (voir le screenshot de http://labs.trolltech.com/blogs/2010/05/06/qt-creator-and-be(...) )
[^] # Re: Le changement, plus ça change, plus c'est pareil...
Posté par Gof (site web personnel) . En réponse au journal Google: Que pasa ?. Évalué à 0.
Linuxfr c'était mieux avant.
[^] # Re: C'est moche
Posté par Gof (site web personnel) . En réponse au journal Google: Que pasa ?. Évalué à 4.
(Mais Les applications KDE forcent la boite dialogue KDE)
# RecursiveSortFilterProxyModel
Posté par Gof (site web personnel) . En réponse au journal XINX. Évalué à 1.
http://api.kde.org/4.x-api/kdelibs-apidocs/kdeui/html/classK(...)
Je pense que cette classe ne dépends pas de KDE outre mesure.