Rilascio dello strumento di assemblaggio Qbs 2.0

Introdotta la versione dello strumento di compilazione Qbs 2.0. Per creare Qbs, è necessaria Qt come dipendenza, sebbene Qbs stesso sia progettato per organizzare l'assemblaggio di qualsiasi progetto. Qbs utilizza una versione semplificata del linguaggio QML per definire gli script di compilazione del progetto, che consente di definire regole di compilazione abbastanza flessibili in cui è possibile connettere moduli esterni, utilizzare funzioni JavaScript e creare regole di compilazione arbitrarie.

Il linguaggio di scripting utilizzato in Qbs è adattato per automatizzare la generazione e l'analisi degli script di build da parte degli IDE. Inoltre, Qbs non genera makefile e, senza intermediari come l'utility make, controlla l'avvio di compilatori e linker, ottimizzando il processo di compilazione sulla base di un grafico dettagliato di tutte le dipendenze. La presenza di dati iniziali sulla struttura e sulle dipendenze nel progetto consente di parallelizzare efficacemente l'esecuzione delle operazioni in più thread. Per progetti di grandi dimensioni costituiti da un gran numero di file e sottodirectory, le prestazioni delle ricostruzioni utilizzando Qbs possono superare make di diverse volte: la ricostruzione è quasi istantanea e non richiede allo sviluppatore di perdere tempo in attesa.

Ricordiamo che nel 2018 la società Qt ha deciso di interrompere lo sviluppo di Qbs. Qbs è stato sviluppato in sostituzione di qmake, ma alla fine si è deciso di utilizzare CMake come sistema di compilazione principale per Qt a lungo termine. Lo sviluppo di Qbs è ora continuato come progetto indipendente supportato dalle forze della comunità e dagli sviluppatori interessati. L'infrastruttura Qt Company continua a essere utilizzata per lo sviluppo.

Un cambiamento significativo nel numero di versione è associato all'implementazione di un nuovo backend JavaScript, che ha sostituito QtScript, che era deprecato in Qt 6. Era considerato irrealistico continuare a mantenere QtScript da solo a causa dei complessi collegamenti a JavaScriptCore, quindi un self-service -uno sufficiente e compatto è stato scelto come base per il nuovo motore JavaScript backend QuickJS creato da Fabrice Bellard, fondatore dei progetti QEMU e FFmpeg. Il motore supporta la specifica ES2019 e supera significativamente le sue controparti esistenti in termini di prestazioni (XS del 35%, DukTape di più di due volte, JerryScript di tre volte e MuJS di sette volte).

Dal punto di vista dello sviluppo degli script di build, il passaggio al nuovo motore non dovrebbe portare a cambiamenti evidenti. Anche le prestazioni rimarranno più o meno le stesse. Tra le differenze, nel nuovo motore ci sono requisiti più severi per l'uso di valori nulli, che possono rivelare problemi nei progetti esistenti che sono passati inosservati quando si utilizza QtScript.

Fonte: opennet.ru

Aggiungi un commento