Arriba la nova versió del sistema de compilació QBS 2.0

QbS

Qbs és un sistema d'automatització de compilació independent de l'idioma impulsat per la comunitat. És ràpid i ofereix un llenguatge fàcil d'aprendre basat en QML.

fa poc es va donar a conèixer el llançament de la nova versió de Qbs 2.0, el qual és un programari gratuït i de codi obert multiplataforma per administrar el procés de creació de programari. Va ser dissenyat per admetre projectes grans i complexos, escrits en diversos llenguatges de programació, principalment C/C++

La nova versió 2.0 és significativa al número de versió, ja que està associat amb la implementació d'un nou backend de JavaScript, que va reemplaçar QtScript, que va quedar obsolet en Qt 6.

Per als que desconeixen de Qbs, han de saber que aquest utilitza una versió simplificada de l'llenguatge QML per definir seqüències d'ordres de compilació de projectes, cosa que permet definir regles de compilació força flexibles en què es poden connectar mòduls externs, es poden utilitzar funcions de JavaScript i es poden crear regles de compilació arbitràries.

Qbs és únic en el sentit de qui no té cap mecanisme per a les compilacions internes, això garanteix la capacitat de crear diverses compilacions a partir d'un sol arbre de fonts, inclosa la compilació a partir d'una única invocació d'ordre i en paral·lel.

Aquesta és una característica clau, que garanteix que els fitxers d'origen no es vegin afectats si s'elimina un directori de compilació i que no s'escriuen artefactes de sortida al directori d'origen. Per construir Qbs, cal Qt com a dependència, encara que Qbs en si mateix està dissenyat per organitzar l'assemblatge de qualsevol projecte.

El llenguatge de seqüències d'ordres utilitzat en Qbs està adaptat per automatitzar la generació i l'anàlisi de seqüències d'ordres de compilació per part dels IDE. A més, Qbs no genera fitxers MAKE i, sense intermediaris com la utilitat make, controla el llançament de compiladors i enllaçadors, optimitzant el procés de compilació en funció d'un gràfic detallat de totes les dependències.

La presència de dades inicials sobre l'estructura i les dependències al projecte us permet paral·lelitzar efectivament l'execució d'operacions en diversos fils. Per a projectes grans que consisteixen en una gran quantitat darxius i subdirectoris, el rendiment de les reconstruccions que usen Qbs pot superar diverses vegades a make: la reconstrucció és gairebé instantània i no fa que el desenvolupador perdi temps esperant.

Principals novetats de QBS 2.0

Aquest nou llançament de QBS 2.0 és notable com ja es va esmentar a l'inici, a causa del nou motor de JavaScript que arriba a suplir QtScript el qual va quedar obsolet per a Qt 6, ja que es va considerar poc realista continuar mantenint QtScript per si sol a causa d'enllaços complexos a JavaScriptCore.

La perspectiva de mantenir QtScript amb la seva dependència complexa no semblava particularment atractiva. Tot i això, cap dels candidats va oferir una API per interceptar els accessos a la propietat, cosa que els desenvolupadors esmenten que necessiten absolutament per raons de rendiment.

Des del punt de vista de lusuari, no hi hauria dhaver canvis notables; en particular, sembla que el rendiment és gairebé el mateix. No obstant això, QtScript va ser força indulgent en acceptar valors indefinits en contextos en què no ho havia de fer, per la qual cosa la nova implementació podria descobrir algunes falles en els seus projectes

El motor és compatible amb l'especificació ES2019 i supera significativament els seus homòlegs existents en rendiment (XS en un 35%, DukTape en més de dues vegades, JerryScript en tres vegades i MuJS en set vegades). Des del punt de vista del desenvolupament de scripts de compilació, la transició a un nou motor no hauria de generar canvis notables.

El rendiment també es mantindrà gairebé igual. De les diferències, hi ha requisits més estrictes al nou motor per a l'ús de valors nuls, cosa que pot revelar problemes en projectes existents que van passar desapercebuts en utilitzar QtScript.

A més, també s'esmenta que es van eliminar fitxers de projecte qmake, cosa que es va traduir en una reducció de treball de manteniment per als desenvolupadors.

Finalment s'esmenta que la versió 2.1 veurà una reescriptura del codi amb la qual cosa els desenvolupadors presumeixen que es tindran diverses característiques noves, així com millores en general al rendiment.

Si estàs interessat a poder conèixer-ne més, pots consultar els detalls en el següent enllaç.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.