Publication de l'outil d'assemblage Qbs 2.0

La version 2.0 de l'outil d'assemblage Qbs a été présentée. Pour assembler Qbs, Qt est nécessaire parmi les dépendances, même si Qbs est conçu pour organiser l'assemblage de tout type de projet. Qbs utilise une version simplifiée du langage QML pour définir les scripts d'assemblage du projet, permettant d'établir des règles d'assemblage suffisamment flexibles, intégrant des modules externes, utilisant des fonctions en JavaScript et créant des règles d'assemblage arbitraires.

Le langage de script utilisé dans Qbs est adapté pour automatiser la génération et l'analyse des scripts de construction dans les environnements de développement intégrés. De plus, Qbs ne génère pas de fichiers make, mais contrôle lui-même, sans intermédiaires comme l'outil make, le lancement des compilateurs et des linkers, optimisant ainsi le processus de construction sur la base d'un graphe détaillé de toutes les dépendances. La disponibilité de données initiales sur la structure et les dépendances dans le projet permet d'exécuter efficacement les opérations en plusieurs threads. Pour les grands projets composés d'un grand nombre de fichiers et de sous-répertoires, les performances de reconstruction avec Qbs peuvent surpasser celles de make de plusieurs fois — la reconstruction s'effectue presque instantanément et ne fait pas perdre de temps à l'équipe de développeurs.

Rappelons qu'en 2018, la société Qt Company a décidé de cesser le développement de Qbs. Qbs a été développé comme un substitut à qmake, mais il a finalement été décidé d'utiliser CMake comme système de construction principal pour Qt à long terme. Le développement de Qbs se poursuit maintenant sous la forme d'un projet indépendant, soutenu par la communauté et des développeurs intéressés. L'infrastructure de Qt Company continue d'être utilisée pour le développement pour l'instant.

Le changement significatif de numéro de version est lié à la mise en œuvre d'un nouveau backend JavaScript, qui remplace QtScript, déclaré obsolète dans Qt 6. Continuer à maintenir QtScript de manière indépendante à cause des liaisons complexes avec JavaScriptCore est jugé irréaliste, c'est pourquoi le moteur JavaScript autonome et compact QuickJS, créé par Fabrice Bellard, a été choisi comme base pour le nouveau backend. Ce moteur prend en charge la spécification ES2019 et surpasse en performance les alternatives existantes (XS de 35 %, DukTape de plus du double, JerryScript de trois fois et MuJS de sept fois).

Du point de vue du développement des scripts d'assemblage, la transition vers ce nouveau moteur ne devrait pas entraîner de changements notables. La performance restera également à peu près au même niveau. Parmi les différences, des exigences plus strictes dans le nouveau moteur concernant l'utilisation de valeurs indéfinies pourraient révéler des problèmes dans les projets existants qui sont passés inaperçus lors de l'utilisation de QtScript.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster