Sosește noua versiune a sistemului de compilare QBS 2.0

QbS

Qbs este un sistem de automatizare a construcției bazat pe comunitate, independent de limbă. Este rapid și oferă un limbaj ușor de învățat bazat pe QML.

recent A fost anunțată lansarea noii versiuni de Qbs 2.0, care este un software gratuit și open source multiplatformă pentru gestionarea procesului de creare a software-ului. A fost conceput pentru a susține proiecte mari și complexe, scrise în mai multe limbaje de programare, în principal C/C++

Noua versiune 2.0 este semnificativ în numărul versiunii, deoarece este asociat cu implementarea unui nou backend JavaScript, care a înlocuit QtScript, care a fost depreciat în Qt 6.

Pentru cei care nu știu despre Qbs, ar trebui să știți că asta folosește o versiune simplificată a limbajului QML pentru a defini scripturi de construire a proiectelor, permițându-vă să definiți reguli de construcție destul de flexibile în care modulele externe pot fi conectate, pot fi utilizate funcții JavaScript și pot fi create reguli de construcție arbitrare.

Qbs este unic în astae nu are mecanism pentru compilari interne, asigurând capacitatea de a crea mai multe versiuni dintr-un singur arbore sursă, inclusiv construirea dintr-o invocare a unei singure comenzi și în paralel.

Aceasta este o caracteristică cheie, care se asigură că fișierele sursă nu sunt afectate dacă un director de compilare este șters și că nu sunt scrise artefacte de ieșire în directorul sursă. Pentru a construi Qbs, Qt este necesar ca dependență, deși Qbs în sine este conceput pentru a organiza asamblarea oricărui proiect.

Limbajul de scripting folosit în Qbs este adaptat pentru a automatiza generarea și analizarea scripturilor de compilare de către IDE-uri. Mai mult, Qbs nu generează fișiere make și, fără intermediari precum utilitarul make, controlează lansarea compilatoarelor și linkerelor, optimizând procesul de compilare pe baza unui grafic detaliat al tuturor dependențelor.

Prezența datelor inițiale privind structura și dependențele din 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 reconstruirilor folosind Qbs poate depăși de mai multe ori make-ul: reconstrucția este aproape instantanee și nu face ca dezvoltatorul să piardă timp în așteptare.

Principalele caracteristici noi ale QBS 2.0

Această nouă versiune a QBS 2.0 este notabilă, așa cum sa menționat deja la început, datorită noul motor JavaScript care vine să înlocuiască QtScript care a fost depreciat pentru Qt 6, deoarece a fost considerat nerealist să continue menținerea QtScript pe cont propriu din cauza legăturilor complexe la JavaScriptCore.

Perspectiva menținerii QtScript cu dependența sa complexă nu părea deosebit de atractivă. Cu toate acestea, niciunul dintre candidați nu a oferit un API pentru a intercepta accesul la proprietate, lucru pe care dezvoltatorii menționează că au absolut nevoie din motive de performanță.

Din punctul de vedere al utilizatorului, nu ar trebui să existe modificări vizibile; în special, performanța pare să fie aproape aceeași. Cu toate acestea, QtScript a fost destul de indulgent în ceea ce privește acceptarea valorilor nedefinite în contexte în care nu trebuia, așa că noua implementare ar putea descoperi unele erori în proiectele dvs.

Motorul este compatibil cu specificația ES2019 și depășește semnificativ performanța omologilor săi existenți (XS cu 35%, DukTape de peste două ori, JerryScript de trei ori și MuJS de șapte ori). Din punct de vedere al dezvoltării scriptului de construcție, tranziția la un motor nou nu ar trebui să aibă ca rezultat modificări vizibile.

Performanța va rămâne, de asemenea, aproape aceeași. Dintre diferențe, există cerințe mai stricte în noul motor pentru utilizarea valorilor nule, care pot dezvălui probleme în proiectele existente care au trecut neobservate atunci când se folosește QtScript.

Pe lângă aceasta, se mai menționează că au eliminat fișierele de proiect qmake, ceea ce a dus la reducerea lucrărilor de întreținere pentru dezvoltatori.

În cele din urmă, se menționează că versiunea 2.1 va vedea o rescrie a codului cu care dezvoltatorii presupun că vor exista câteva funcții noi, precum și îmbunătățiri generale ale performanței.

Daca esti interesat sa afli mai multe despre el, poti consulta detaliile În următorul link.


Adăugați ca sursă preferată în Google