Eliberarea instrumentului de asamblare Qbs 2.0

A fost anunțată lansarea instrumentelor de asamblare Qbs 2.0. Pentru a construi Qbs, Qt este necesar printre dependențe, deși Qbs în sine este conceput pentru a organiza asamblarea oricăror proiecte. Qbs folosește o versiune simplificată a limbajului QML pentru a defini scripturile de construire a proiectelor, ceea ce vă permite să definiți reguli de construire destul de flexibile care pot conecta module externe, pot utiliza funcții JavaScript și pot crea reguli de construire personalizate.

Limbajul de scripting folosit în Qbs este adaptat pentru a automatiza generarea și analizarea scripturilor de compilare de către mediile de dezvoltare integrate. În plus, Qbs nu generează fișiere make, dar el însuși, fără intermediari precum utilitarul make, controlează lansarea compilatoarelor și a link-urilor, optimizând procesul de construire pe baza unui grafic detaliat al tuturor dependențelor. Prezența datelor inițiale despre structură și dependențe în proiect vă permite să paralelizați eficient execuția operațiunilor în mai multe fire. Pentru proiectele mari care constau dintr-un număr mare de fișiere și subdirectoare, performanța reconstrucției folosind Qbs poate fi de câteva ori mai rapidă decât make - reconstrucția se realizează aproape instantaneu și nu obligă dezvoltatorul să piardă timpul în așteptare.

Să ne amintim că în 2018, compania Qt a decis să nu mai dezvolte Qbs. Qbs a fost dezvoltat ca înlocuitor pentru qmake, dar în cele din urmă s-a decis să se utilizeze CMake ca principal sistem de construcție pentru Qt pe termen lung. Dezvoltarea Qbs a continuat acum ca un proiect independent susținut de comunitate și de dezvoltatorii interesați. Infrastructura companiei Qt continuă să fie utilizată pentru dezvoltare.

O schimbare semnificativă a numărului versiunii este asociată cu implementarea unui nou backend JavaScript, care a înlocuit QtScript, care a fost declarat caduc în Qt 6. A fost considerat nerealist să continuăm să menținem QtScript pe cont propriu din cauza legăturilor complexe la JavaScriptCore, deci o Unul autosuficient și compact a fost ales ca bază pentru noul backend. Motorul JavaScript QuickJS a fost creat de Fabrice Bellard, care a fondat proiectele QEMU și FFmpeg. Motorul acceptă specificația ES2019 și este vizibil superioară ca performanță față de analogii existenți (XS cu 35%, DukTape de mai mult de două ori, JerryScript de trei ori și MuJS de șapte ori).

Din punctul de vedere al dezvoltării scripturilor de asamblare, trecerea la un nou motor nu ar trebui să ducă la modificări vizibile. Productivitatea va rămâne, de asemenea, aproximativ la același nivel. Printre diferențe, există cerințe mai stricte în noul motor pentru utilizarea null-urilor, care pot dezvălui probleme în proiectele existente care au trecut neobservate atunci când se folosește QtScript.

Sursa: opennet.ru

Adauga un comentariu