Les développeurs viennent de Mars,
les designers de Vénus
Date de publication : 28/06/2010. Date de mise à jour : 01/08/2011.
Par
Hietala Nigel
traducteur : Guillaume Belz
Qt Quarterly
L'équipe Qt de Developpez présente régulièrement des nouvelles sur la sortie prochaine de Qt 4.7, de Qt Quick et du QML. La question légitime que l'on peut se poser est de savoir ce que vont nous apporter
ces nouveautés en pratique. Après tout, ceux qui utilisent Qt savent créer une interface graphique et n'ont pas besoin, a priori, d'un nouveau langage, certes plus simple à prendre en main que le C++
mais nouveau quand même, pour faire ce qu'ils font déjà.
Dans cet article, les concepteurs de Qt introduisent comment est venu le besoin de proposer cet outil : les designers ont besoin de passer par les développeurs pour implémenter les interfaces qu'ils conçoivent.
Cet article présente également ce que peut apporter Qt Quick aux équipes de développement : redonner le contrôle direct de la création de l'interface graphique aux designers et permettre ainsi aux développeurs
de se concentrer sur la partie C++ de l'application. Le tout favorise une meilleure répartition des activités et l'optimisation du travail en équipe.
N'hésitez pas à commenter cet article !
Commentez
I. L'article original
II. Introduction
III. Les développeurs viennent de Mars, les designers de Vénus
IV. Peut-il en être autrement ?
V. Comment Qt Quick peut changer cette dynamique
VI. Un nouveau niveau d'abstraction de l'interface utilisateur
VII. Abaisser le niveau d'entrée
VIII. Du concept à la réalisation
IX. Une équipe nouvelle est née
X. Divers
I. L'article original
Qt Quarterly est une revue trimestrielle électronique proposée par Nokia à destination des développeurs et
utilisateurs de Qt. Vous pouvez trouver les
versions originales.
Nokia, Qt, Qt Quarterly et leurs logos sont des marques déposées de Nokia Corporation en Finlande
et/ou dans les autres pays. Les autres marques déposées sont détenues par leurs propriétaires respectifs.
Cet article est une traduction de l'un des tutoriels en anglais écrits par Nokia Corporation and/or its subsidiary(-ies),
inclus dans la documentation de Qt. Les éventuels problèmes résultant d'une mauvaise traduction ne sont
pas imputables à Nokia.
II. Introduction
Concevoir une application nécessite habituellement une équipe. La
division du travail est répartie entre les développeurs et les
designers. Qt Quick a été conçu pour rendre Qt plus inclusif. Il est
inclusif car il permet d'inclure de nouvelles personnes dans le
monde du développement Qt et permet aux équipes de mieux collaborer.
Améliorer la collaboration est la clé de la création d'applications
conséquentes. Mais pourquoi cela et comment Qt Quick peut-il aider
dans cette démarche ?
Il existe une multitude de questions qui doivent être traitées lors
de la création d'une application. Il n'est pas possible de les
séparer proprement. Les développeurs se focalisent principalement
sur le monde de l'ingénierie logicielle. Le designers
travaillent avec le monde visuel et l'Homme : avec la conception
graphique et les animations pour l'aspect visuel et avec la
conception des interactions pour la façon dont les interfaces
utilisateur (UI) devraient être structurées. Enfin, il y a des
questions d'utilisabilité qui devront être traitées en fonction des
problèmes rencontrés lorsque les personnes utilisent l'application.
Des problèmes peuvent survenir si le concepteur ne comprend pas
certaines limitations techniques importantes. Cela peut être
particulièrement problématique sur les applications mobiles et
embarquées où le processeur, la mémoire et l'alimentation sont
limités. Les développeurs peuvent faire des erreurs de conception
logicielle parce qu'ils n'ont pas compris quelles parties de
l'interface utilisateur doivent être réactives ou faciles à modifier.
Cette répartition imparfaite signifie que l'équipe échoue à réaliser
de grandes idées car ses membres ne peuvent pas collaborer
correctement.
III. Les développeurs viennent de Mars, les designers de Vénus
Une façon de surmonter ces problèmes est de créer une maquette sous
forme de croquis ou mieux encore un prototype interactif avec une
autre technologie telle que Adobe Flash. Ça reste une mauvaise façon
de travailler : une démo qui fonctionne correctement sur un ordinateur de
bureau ne fonctionne que rarement sur les mobiles ou les systèmes
embarqués. Le développeur a besoin de copier la façon dont le design
fonctionne dans une démo pour une technologie cible telle que Qt.
Les développeurs font de leur mieux pour recréer le design. Tout en
faisant cela, des problèmes peuvent survenir. Le concepteur doit
alors procéder à des modifications et les transmettre aux
développeurs. Il en résulte un gaspillage d'efforts, tout le travail
qui a été effectué pour la démo doit être réalisé encore pour
l'interface utilisateur finale. De nombreux aspects importants
peuvent être mal compris et le résultat est un cycle de développement lent.
Les priorités des équipes sont également différentes. Les
développeurs souhaitent souvent que cela fonctionne uniquement d'un
point de vue fonctionnel. Ils n'ont pas le temps de déplacer un
bouton de quelques pixels, régler une animation et d'obtenir la mise
en forme du texte à la perfection. Mais ces détails sont essentiels
pour une application conséquente. Les développeurs peuvent avoir la
sensation que leur temps serait mieux dépensé ailleurs tandis que le
designer est soumis à la bonne volonté des développeurs. Avoir à
justifier la moindre modification au développeur est une façon
improductive de travailler.
IV. Peut-il en être autrement ?
Qt Quick est arrivé après s'être posé les questions suivantes :
les designers peuvent-ils travailler directement sur le vrai logiciel et
prendre le contrôle de l'interface utilisateur eux-mêmes ? Nos outils peuvent-ils
être modifiés de façon à ce qu'aussi bien les designers que les
développeurs puissent les utiliser ? Le framework réel pour l'interface utilisateur
pourrait-il être utilisé assez rapidement et facilement pour qu'il soit
possible de créer directement un prototype ? Traditionnellement avec une application Qt,
si ce n'est pas pour tous les logiciels, il est difficile pour les designers
de travailler directement sur une application, dans le sens où
l'interface utilisateur a été conçue par les designers en mains
propres, par opposition à être interprétée le mieux possible par un
développeur. Le problème est qu'actuellement, pour prendre le contrôle de la
création/modification de l'interface utilisateur, cela nécessite de
posséder l'ensemble des compétences d'un développeur Qt/C++. Les designers
ont alors à faire face à des problèmes
d'ingénierie supplémentaires susceptibles
d'entraver leur capacité à se concentrer pleinement sur l'interface
utilisateur.
V. Comment Qt Quick peut changer cette dynamique
Qt Quick permet au designer de prendre le contrôle direct de
l'interface utilisateur. Le designer peut désormais acquérir une
compréhension bien meilleure des questions techniques qui doivent
être traitées pour réaliser une interface utilisateur conséquente, sans
s'enliser avec des problèmes d'ingénierie face aux développeurs. Il y a
beaucoup de points à corriger, mais déjà la première version de Qt Quick a
commencé à aborder ces questions.
VI. Un nouveau niveau d'abstraction de l'interface utilisateur
Qt Quick ajoute un niveau d'abstraction pour le développement
d'interfaces utilisateur. Le monde du code impératif, des classes,
des fonctions, des pointeurs et des compilateurs est très abstrait.
Tandis que les éléments d'interface tels que les images, les widgets,
la mise en page, les états et les animations sont des objets manipulables.
L'abstraction permet maintenant de ramener la problématique
à un domaine dans lequel le designer est habitué à travailler.
VII. Abaisser le niveau d'entrée
Progressivement, Qt Quick devrait permettre aux designers de travailler
directement sur l'interface utilisateur en ayant besoin de moins
en moins de connaissances techniques. Finie l'obligation d'être un développeur C++ !
Si un designer peut créer un prototype utilisant un peu de
JavaScript ou de l'ActionScript, alors ils peuvent maintenant prendre
le contrôle complet de l'interface utilisateur. Qt Quick fournit également
quelques outils graphiques pour réaliser la mise en forme des interfaces utilisateur
dans Qt Creator. Au fil du temps, nous nous attendons à ce que ces outils
deviennent de plus en plus puissants et utiles. Les designers qui sont déjà à l'aise
avec le langage HTML trouveront le langage QML facile à prendre en main.
Qt Quick a l'avantage de repartir de zéro afin de ne pas hériter de la
complexité de ce langage.
Il n'est pas plus complexe et difficile à éditer et à lire que le
XML. Au lieu de cela, nous avons pris le Javascript et enlevé
toute la complexité du langage. Ce qui reste est purement axé
sur les questions liées à l'interface utilisateur.
VIII. Du concept à la réalisation
Qt Quick a été conçu pour créer très rapidement des interfaces.
Fini le temps des compilations longues pour voir ce à quoi votre
interface utilisateur ressemble. Il est simple d'ajouter des
animations et des effets, qui non seulement améliorent le
visuel, mais rendent votre application plus facile et plus
intéressante à utiliser. Le designer peut créer le prototype de manière aussi efficace,
sinon plus, en utilisant Qt Quick. Cependant, une interface Qt Quick est
une vraie interface utilisateur.
Elle est prévue pour des applications à commercialiser.
Plutôt que de recréer
l'interface utilisateur à partir de zéro, le développeur peut
s'asseoir avec le designer. Ensuite, en utilisant les mêmes outils
qui font partie de Qt Creator, le développeur peut aider à refactoriser
l'interface utilisateur. Elle peut être internationalisée. L'interface
utilisateur peut être connectée aux parties Qt C++ de l'application
qui contiennent les éléments tels que le modèle de données et le
moteur.
IX. Une équipe nouvelle est née
C'est un grand changement dans l'organisation du travail de l'équipe. Le
designer peut maintenant contrôler et créer réellement l'interface
utilisateur. Cela est une grande avancée face aux problèmes
des designers qui créent des interfaces qui ne fonctionnent pas. Ils
n'ont plus besoin de compter sur un développeur pour interpréter leurs
interfaces ; s'ils veulent corriger une animation ou une mise en forme,
ils peuvent directement le faire. Pour des interfaces sur mobiles et sur des systèmes embarqués,
l'application peut être transférée vers le système cible et
être validée. Les designers peuvent mettre en forme, recommencer et
contrôler ce qu'ils considèrent comme important.
Qt Quick est un pas en avant, mais il y a aussi de nouvelles
questions qui doivent être abordées. Les équipes trouveront de
nouvelles questions qui doivent être résolues. Comment les designers peuvent
être intégrés dans l'équipe de travail ? Les designers
peuvent avoir besoin d'utiliser le contrôle de version. Leurs interfaces
utilisateur en QML peuvent avoir besoin de vérifications techniques et de relecture du code.
Il reste aux équipes à savoir si elles peuvent produire de meilleures
applications si les compétences et connaissances des designers sont
améliorées, de sorte que les interfaces ne doivent plus être réécrites par les développeurs.
Les développeurs ont besoin de créer des composants avec des API qui facilitent leurs
réutilisations dans Qt Quick.
Ce n'est que le début de la façon dont le développement
d'applications peut être relevé à un nouveau niveau. Ce sont des
questions pour lesquelles nous avons déjà des idées pour faire face dans les
prochaines versions de Qt Quick. Des problèmes qui peuvent provenir d'une
nouvelle et meilleure façon de travailler pour les équipes de développement. Alors
qu'attendez-vous ? Responsabilisez vos designers et libérez vos
développeurs. La passion pour Qt Quick les attend. Pour en savoir
plus sur Qt Quick, visitez la
page
suivante. Vous y trouverez un aperçu technologique de Qt 4.7. Pour
essayer Qt Quick, il suffit de télécharger la version alpha de Qt Creator 2.0
qui, en un seul téléchargement, fournit tout ce qu'il faut pour créer
une interface Qt Quick (ndlt : depuis la rédaction de ce Qt Quarterly,
Qt Creator 2.0 est sortie, sans le support de Qt Quick. Pour tester Qt Quick,
il faut télécharger Qt Creator 2.0 beta, qui sera renommé Qt Creator 2.1 lors
de la sortie de Qt 4.7, à
l'adresse
suivante).
X. Divers
Au nom de toute l'équipe Qt, j'aimerais adresser le plus grand remerciement
à Nokia pour nous avoir autorisé à traduire cet article !


Copyright © 2010 Hietala Nigel. Aucune reproduction, même partielle, ne peut être faite
de ce site et de l'ensemble de son contenu : textes, documents, images, etc.
sans l'autorisation expresse de l'auteur.
Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 €
de dommages et intérêts.
Cette page est déposée.