Lanzamiento de la herramienta de construcción Qbs 1.21 y comienzo de las pruebas de Qt 6.3

Se presenta la versión 1.21 de la herramienta de ensamblaje Qbs. Esta es la octava versión desde que la empresa Qt Company dejó de desarrollar el proyecto, preparada por una comunidad interesada en continuar el desarrollo de Qbs. Para compilar Qbs, se requiere Qt entre las dependencias, aunque Qbs está diseñado para organizar la compilación de cualquier proyecto. Qbs utiliza una versión simplificada del lenguaje QML para definir los scripts de compilación del proyecto, lo que permite establecer reglas de compilación bastante flexibles, donde se pueden incluir módulos externos, utilizar funciones en JavaScript y crear reglas de compilación personalizadas.

El lenguaje de script utilizado en Qbs está adaptado para automatizar la generación y análisis de scripts de construcción en entornos de desarrollo integrados. Además, Qbs no genera archivos make, sino que controla directamente, sin intermediarios como la herramienta make, el inicio de compiladores y enlazadores, optimizando el proceso de construcción en función de un grafo detallado de todas las dependencias. La disponibilidad de datos originales sobre la estructura y dependencias del proyecto permite ejecutar operaciones en múltiples hilos de manera eficiente. Para proyectos grandes, que constan de numerosos archivos y subdirectorios, el rendimiento de la reconstrucción con Qbs puede superar a make en múltiples ocasiones: la reconstrucción se realiza casi al instante y no obliga al desarrollador a perder tiempo en espera.

Recordemos que en 2018 la empresa Qt Company decidió detener el desarrollo de Qbs. Qbs evolucionó como un reemplazo de qmake, pero finalmente se decidió utilizar CMake como el sistema de compilación principal para Qt a largo plazo. El desarrollo de Qbs ahora continúa en forma de un proyecto independiente, respaldado por la comunidad y desarrolladores interesados. La infraestructura de Qt Company todavía se utiliza para el desarrollo.

Novedades principales de Qbs 1.21:

  • Se ha reestructurado el mecanismo de proveedores de módulos (generadores de módulos). Para frameworks como Qt y Boost, ahora se pueden utilizar más de un proveedor, definir cuál de los proveedores ejecutar mediante la nueva propiedad qbsModuleProviders y establecer la prioridad para elegir entre los módulos generados por diferentes proveedores. Por ejemplo, se pueden especificar dos proveedores «Qt» y «qbspkgconfig», donde el primero intentará utilizar la instalación personalizada de Qt (a través de la búsqueda de qmake) y, si no se encuentra dicha instalación, el segundo proveedor intentará utilizar Qt proporcionado por el sistema (a través de invocaciones a pkg-config): CppApplication { Depends { name: «Qt.core» } files: «main.cpp» qbsModuleProviders: [«Qt», «qbspkgconfig»] }
  • Se ha añadido el proveedor «qbspkgconfig», que reemplaza al proveedor de módulos «fallback», que intentaba generar un módulo utilizando pkg-config si el módulo requerido no había sido generado por otros proveedores. A diferencia de «fallback», en «qbspkgconfig» se utiliza una biblioteca C++ integrada para leer directamente los archivos «.pc», lo que permite acelerar el proceso y obtener información adicional sobre las dependencias de los paquetes que no está disponible al invocar la utilidad pkg-config.
  • Se ha añadido soporte para la especificación C++23, que define el futuro estándar de C++.
  • Para la herramienta GCC, se ha agregado soporte para la arquitectura Elbrus E2K.
  • Para la plataforma Android se ha añadido la propiedad Android.ndk.buildId, que permite anular el valor por defecto de la bandera del enlazador «—build-id».
  • En los módulos capnproto y protobuf se ha implementado la posibilidad de utilizar un runtime proporcionado por qbspkgconfig.
  • Se han resuelto problemas relacionados con el seguimiento de cambios en los archivos de código fuente en la plataforma FreeBSD, que surgían debido al descartar los milisegundos al evaluar la hora de modificación del archivo.
  • Se ha añadido la propiedad ConanfileProbe.verbose, que facilita la depuración de proyectos que utilizan el gestor de paquetes Conan.

Adicionalmente, se destaca el inicio de la alfa de prueba del framework Qt 6.3, que implementa un nuevo módulo ‘Qt Language Server’ con soporte para los protocolos Language Server y JsonRpc 2.0, se ha agregado una gran cantidad de nuevas funciones al módulo Qt Core, y en el módulo Qt Quick Dialogs se ha implementado el tipo MessageDialog en QML para la utilización de ventanas de diálogo proporcionadas por la plataforma, se ha añadido composición al módulo Qt Wayland Compositor. servidor Qt Shell y API para crear extensiones personalizadas de la interfaz de usuario.

En el módulo Qt QML se sugiere la implementación del compilador qmltc (compilador de tipos QML), que permite compilar las estructuras de objetos QML en clases en C++. Para los usuarios comerciales, el Qt 6.3 ha comenzado a probar el producto Qt Quick Compiler, que además del mencionado QML Type Compiler incluye el QML Script Compiler, que permite compilar funciones y expresiones QML en código C++. Se señala que el uso del Qt Quick Compiler permitirá aproximar el rendimiento de las aplicaciones basadas en QML a las aplicaciones nativas, con una reducción del tiempo de inicio y ejecución de aproximadamente el 30% en comparación con la variante interpretada.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster