Arriva la nuova versione del sistema di compilazione QBS 2.0

QbS

Qbs è un sistema di automazione della compilazione indipendente dal linguaggio e guidato dalla comunità. È veloce e offre un linguaggio facile da imparare basato su QML.

È stata recentemente annunciata la versione 2.0 di Qbs, un software gratuito, open-source e multipiattaforma per la gestione del processo di sviluppo software . È stato progettato per supportare progetti di grandi dimensioni e complessi, scritti in vari linguaggi di programmazione, principalmente C/C++.

La nuova versione 2.0 è significativa per il suo numero di versione, in quanto è associata all'implementazione di un nuovo backend JavaScript , che ha sostituito QtScript, diventato obsoleto in Qt 6.

Per chi non ha familiarità con Qbs, si tratta di una versione semplificata del linguaggio QML utilizzata per definire gli script di compilazione del progetto, che consente di creare regole di compilazione piuttosto flessibili, in grado di connettere moduli esterni, utilizzare funzioni JavaScript e generare regole di compilazione personalizzate.

Qbs è unico nel suo genere in quanto non dispone di un meccanismo per le build interne, garantendo la possibilità di creare più build da un singolo albero dei sorgenti, inclusa la possibilità di eseguire build da una singola invocazione di comando e in parallelo.

Questa è una caratteristica fondamentale, che garantisce che i file sorgente rimangano inalterati se una directory di compilazione viene eliminata e che nessun artefatto di output venga scritto nella directory sorgente. Qt è necessario come dipendenza per compilare Qbs, sebbene Qbs stesso sia progettato per organizzare l'assemblaggio di qualsiasi progetto.

Il linguaggio di scripting utilizzato in Qbs è personalizzato per automatizzare la generazione e l'analisi degli script di compilazione da parte degli IDE. Qbs, inoltre, non genera makefile e, senza intermediari come l'utility make, controlla il rilascio di compilatori e linker, ottimizzando il processo di build 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 di operazioni in più thread. Per progetti di grandi dimensioni costituiti da un gran numero di file e sottodirectory, le prestazioni delle ricostruzioni tramite Qbs possono essere molte volte migliori rispetto a make: la ricostruzione è quasi istantanea e non fa perdere tempo allo sviluppatore in attesa.

Principali novità di QBS 2.0

Questa nuova versione di QBS 2.0 è degna di nota, come accennato all'inizio, per il nuovo motore JavaScript che sostituisce QtScript, diventato obsoleto per Qt 6 poiché si riteneva irrealistico continuare a mantenere solo QtScript a causa dei complessi binding con JavaScriptCore.

La prospettiva di mantenere QtScript con la sua complessa dipendenza non sembrava particolarmente allettante. Tuttavia, nessuno dei due candidati ha offerto un'API per intercettare gli accessi alle proprietà, qualcosa che gli sviluppatori affermano di aver assolutamente bisogno per motivi di prestazioni.

Dal punto di vista dell'utente, non dovrebbero esserci cambiamenti evidenti; in particolare, le prestazioni sembrano essere più o meno le stesse. Tuttavia, QtScript è stato piuttosto indulgente nell'accettare valori non definiti in contesti in cui non era necessario, quindi la nuova implementazione potrebbe scoprire alcuni bug nei tuoi progetti.

Il motore è conforme alle specifiche ES2019 e supera significativamente le prestazioni dei suoi omologhi esistenti (XS del 35%, DukTape più del doppio, JerryScript del triplo e MuJS del sette volte). Dal punto di vista dello sviluppo di script di build, la transizione al nuovo motore non dovrebbe comportare cambiamenti evidenti.

Anche le prestazioni rimarranno pressoché invariate. Tra le differenze, il nuovo motore presenta requisiti più stringenti per l'utilizzo dei valori null, il che potrebbe far emergere problemi nei progetti esistenti che erano passati inosservati quando si utilizzava QtScript.

Inoltre, viene anche menzionato che i file di progetto qmake sono stati rimossi, il che ha comportato una riduzione del lavoro di manutenzione per gli sviluppatori.

Infine si dice che la versione 2.1 vedrà una riscrittura del codice con cui gli sviluppatori presumono che avranno diverse nuove funzionalità, oltre a miglioramenti generali delle prestazioni.

Se desideri saperne di più, puoi trovare maggiori dettagli al seguente link.


Aggiungi come fonte preferita in Google