Interview avec Przemyslaw Nogaj et Lukasz Ornatek : Spyrosoft Synergy au Qt World Summit 2022
Notre partenariat avec le Qt Company s'étend des activités commerciales à la R&D. D'une part, nos spécialistes soutiennent le processus de développement, aident les clients Qt à adopter la technologie Qt ou à résoudre certains défis d'architecture. D'autre part, nous coopérons également régulièrement pour améliorer le framework Qt.
Lors du Qt World Summit de cette année, nous souhaitons partager l'une de nos idées. Dans l'interview suivante, Przemysław Nogaj, ingénieur logiciel principal C++, et Łukasz Ornatek, ingénieur logiciel senior C++, de Spyrosoft Synergy, donnent un aperçu de la solution d'amélioration que leur équipe a développée.
Quel était le problème que vous avez rencontré ?
Lukasz Ornatek : Lors de nos projets, en particulier pour des clients du secteur automobile, nous avons observé que leur préférence va vers des solutions basées sur Android. Qt est un framework multiplateforme qui fonctionne parfaitement avec Android. Néanmoins, il est assez fréquent de devoir intégrer une solution avec diverses API proposées par Android, ce qui crée un goulot d'étranglement dû à la barrière linguistique entre la logique métier et les couches d'interface utilisateur d'une application.
Przemyslaw Nogaj : Un exemple parfait est le cas du téléchargement d'une liste de contacts depuis un téléphone Android et de son affichage dans le système d'infodivertissement d'une voiture développé en Qt, ce qui nécessite de nombreux appels à l'API Android.
LO : Il s'agit d'un processus non optimal nécessitant de franchir quelques barrières linguistiques de programmation. Dans Qt, l'interface utilisateur est développée en QML, mais pour communiquer avec l'API Android, qui est le plus souvent codée en Java, nous devions écrire manuellement du code C++, puis le coder en Java. Cela impliquait généralement l'écriture manuelle du soi-disant code passe-partout, composé de nombreux éléments répétitifs. C'était un processus très sujet aux erreurs, que nous voulions éviter, c'est pourquoi nous avons créé une solution basée sur les mécanismes natifs d'Android et les outils Qt qui ont amélioré le framework.
Comment votre solution résout-elle le problème ?
LO : Notre solution, appelée QtAIDL, automatise le processus d'écriture du code, ce qui permet la communication entre la logique métier et les couches UI d'une application. QtAIDL permet également la simulation du backend Java avant que l'implémentation finale ne soit prête. Ainsi, le développeur qui code l'UI n'est pas bloqué et peut travailler avec la simulation.
Nous souhaitons désormais partager notre solution avec la communauté Qt lors du Qt World Summit 2022. Nous ne voulons pas qu'il s'agisse d'un code mort, c'est pourquoi nous le partageons sous licence MIT. Chacun peut l'utiliser librement et proposer des améliorations supplémentaires.
PN : Notre solution répond à de nombreux défis. Tout d'abord, nous avons éliminé la barrière linguistique. Les développeurs peuvent se concentrer soit sur le code QML, soit sur le code Java. Nous pouvons oublier l'écriture du fastidieux code standard. Cela nous permet d'optimiser le flux de travail en fonction de la spécialisation des développeurs. Les développeurs Qt et C++ peuvent se concentrer sur l'interface utilisateur, tandis que les développeurs Java peuvent consacrer toute leur attention à la partie logique métier d'une application.
Il est difficile de trouver des développeurs Android qui codent simultanément en Java, C++ et QML. Grâce à QtAIDL, il est plus facile de séparer les compétences.
Quelles sont vos attentes pour le Qt World Summit 2022 ?
PN : Nous aimerions susciter des discussions sur les framework Qt améliorations, échanger des idées avec d'autres passionnés de Qt et apporter notre contribution à la communauté. Nous aimons Qt parce que c'est un framework open source auquel chacun peut contribuer, et nous souhaitons également le soutenir.
L'année prochaine, nous prévoyons également de participer au Qt Contributors Summit, où nous aimerions présenter certaines de nos idées à la communauté des contributeurs Qt.
arrow_circle_rightContactez-nous
Construisez une solution HMI qui offre une expérience fluide à vos clients
arrow_circle_right Nos articles

