Lanzamiento de la herramienta de ensamblaje Qbs 2.0

Se ha anunciado el lanzamiento del kit de herramientas de ensamblaje Qbs 2.0. Para construir Qbs, se requiere Qt entre las dependencias, aunque Qbs en sí está diseñado para organizar el ensamblaje de cualquier proyecto. Qbs utiliza una versión simplificada del lenguaje QML para definir scripts de compilación de proyectos, lo que le permite definir reglas de compilación bastante flexibles que pueden conectar módulos externos, usar funciones de JavaScript y crear reglas de compilación personalizadas.

El lenguaje de secuencias de comandos utilizado en Qbs está adaptado para automatizar la generación y el análisis de secuencias de comandos de compilación mediante entornos de desarrollo integrados. Además, Qbs no genera archivos MAKE, pero él mismo, sin intermediarios como la utilidad make, controla el lanzamiento de compiladores y enlazadores, optimizando el proceso de construcción en función de un gráfico detallado de todas las dependencias. La presencia de datos iniciales sobre la estructura y las dependencias en el proyecto le permite paralelizar efectivamente la ejecución de operaciones en varios subprocesos. Para proyectos grandes que constan de una gran cantidad de archivos y subdirectorios, el rendimiento de la reconstrucción con Qbs puede ser varias veces más rápido que el de make: la reconstrucción se realiza casi instantáneamente y no obliga al desarrollador a perder tiempo esperando.

Recordemos que en 2018 la Compañía Qt decidió dejar de desarrollar Qbs. Qbs se desarrolló como reemplazo de qmake, pero finalmente se decidió utilizar CMake como sistema de compilación principal para Qt a largo plazo. El desarrollo de Qbs ha continuado ahora como un proyecto independiente apoyado por la comunidad y los desarrolladores interesados. La infraestructura de Qt Company continúa utilizándose para el desarrollo.

Un cambio significativo en el número de versión está asociado con la implementación de un nuevo backend de JavaScript, que reemplazó a QtScript, que fue declarado obsoleto en Qt 6. Se consideró poco realista continuar manteniendo QtScript por nuestra cuenta debido a los enlaces complejos a JavaScriptCore, por lo que Se eligió uno autosuficiente y compacto como base para el nuevo backend. El motor JavaScript QuickJS fue creado por Fabrice Bellard, quien fundó los proyectos QEMU y FFmpeg. El motor es compatible con la especificación ES2019 y es notablemente superior en rendimiento a sus análogos existentes (XS en un 35%, DukTape más del doble, JerryScript tres veces y MuJS siete veces).

Desde el punto de vista del desarrollo de scripts ensambladores, la transición a un nuevo motor no debería provocar cambios notables. La productividad también se mantendrá aproximadamente en el mismo nivel. Entre las diferencias, existen requisitos más estrictos en el nuevo motor para el uso de nulos, lo que puede revelar problemas en proyectos existentes que pasaron desapercibidos al usar QtScript.

Fuente: opennet.ru

Añadir un comentario