Rilascio del toolkit di build Qbs 2.0

È stata presentata la versione 2.0 degli strumenti di build Qbs. Per costruire Qbs, tra le dipendenze è richiesto Qt, anche se Qbs stesso è progettato per organizzare la build di qualsiasi progetto. Qbs utilizza una versione semplificata del linguaggio QML per definire gli script di build del progetto, consentendo di stabilire regole di build abbastanza flessibili, in cui possono essere integrati moduli esterni, utilizzare funzioni JavaScript e creare regole di build personalizzate.

Il linguaggio di scripting utilizzato in Qbs è stato adattato per automatizzare la generazione e l'analisi degli script di compilazione in ambienti di sviluppo integrati. Inoltre, Qbs non genera makefile, ma controlla direttamente, senza intermediari come l'utilità make, l'avvio dei compilatori e dei linker, ottimizzando il processo di compilazione sulla base di un grafo dettagliato di tutte le dipendenze. La disponibilità di dati iniziali sulla struttura e sulle dipendenze del progetto consente di parallelizzare in modo efficace l'esecuzione delle operazioni su più thread. Per grandi progetti, composti da un numero elevato di file e sottodirectory, le prestazioni di ricompilazione utilizzando Qbs possono superare di gran lunga quelle di make: la ricompilazione avviene quasi istantaneamente e non costringe lo sviluppatore a perdere tempo ad aspettare.

Ricordiamo che nel 2018 la Qt Company ha deciso di interrompere lo sviluppo di Qbs. Qbs è stato sviluppato come sostituto di qmake, ma alla fine si è deciso di utilizzare CMake come principale sistema di compilazione per Qt a lungo termine. Lo sviluppo di Qbs è ora continuato sotto forma di progetto indipendente, supportato dalla comunità e da sviluppatori interessati. Per lo sviluppo si continua a utilizzare l'infrastruttura di Qt Company.

Il significativo cambiamento del numero di versione è legato all'implementazione di un nuovo backend JavaScript, che ha sostituito QtScript, dichiarato obsoleto in Qt 6. Continuare a mantenere QtScript autonomamente è considerato irrealistico a causa dei legami complessi con JavaScriptCore, quindi per il nuovo backend è stato scelto il motore JavaScript compatto e autonomo QuickJS, creato da Fabrice Bellard, fondatore dei progetti QEMU e FFmpeg. Il motore supporta la specifica ES2019 e offre prestazioni che superano significativamente gli analoghi esistenti (XS del 35%, DukTape oltre il doppio, JerryScript tre volte e MuJS sette volte).

Dal punto di vista dello sviluppo degli script di build, il passaggio al nuovo motore non dovrebbe comportare cambiamenti significativi. Le prestazioni rimarranno simili. Tra le differenze, si notano requisiti più rigorosi nel nuovo motore per l'uso di valori indefiniti, il che può rivelare problemi in progetti esistenti che erano rimasti inosservati con l'uso di QtScript.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster