Ya está disponible la versión de prueba de QT 6 y estas son sus novedades

junio 16, 2020 , 0 Comments

Los desarrolladores de Qt ya dieron a conocer la primera versión de prueba de la nueva rama Qt 6, en la que se propondrán cambios arquitectónicos significativos y se requerirá un compilador que admita el estándar C++ 17.

Por la parte de los cambios principales, en primera instancia se destaca que la API de gráficos abstractos independiente 3D del sistema operativo. Este es un componente clave de la nueva pila de gráficos Qt es un motor de renderizado de escenas que utiliza la capa RHI (Rendering Hardware Interface) para permitir que las aplicaciones Qt Quick funcionen no solo con OpenGL, sino también por encima de las API 3D Vulkan, Metal y Direct.

Para el módulo Qt Quick 3D que permite usar QML para definir elementos de interfaz 3D sin usar el formato UIP, ahora se puede usar un tiempo de ejecución (Qt Quick), un diseño de escena y un marco de animación, y usar Qt Design Studio para el desarrollo visual de la interfaz.

El módulo resuelve problemas tales como gastos generales elevados al integrar QML con contenido de Qt 3D o 3D Studio, y proporciona la capacidad de sincronizar animaciones y transformaciones a nivel de cuadros individuales entre 2D y 3D.

Otro cambo importante es la reestructurar la base del código dividiéndolo en componentes más pequeños y reduciendo el tamaño del producto base. Las herramientas para desarrolladores y los componentes especializados se suministrarán como complementos distribuidos a través de Qt Marketplace.

Además, sé que se destaca la modernización significativa de QML:

  • Fuerte soporte de mecanografía.
  • Capacidad para compilar QML en C++ y código de máquina.
  • La transferencia de soporte completo para JavaScript a la categoría de opciones (el uso de un motor de JavaScript con todas las funciones requiere grandes recursos, lo que impide el uso de QML en equipos como los microcontroladores).
  • Denegación de versiones en QML.
  • Unificación de estructuras de datos que se duplican en QObject y QML (reducirá el consumo de memoria y acelerará el inicio).
  • Evitar la generación de estructuras de datos en tiempo de ejecución a favor de la generación en tiempo de compilación.
  • Ocultar componentes internos mediante el uso de métodos y propiedades privados.
  • Integración mejorada con herramientas de desarrollo para refactorizar y diagnosticar errores durante la compilación.
  • Agregar herramientas para procesar recursos relacionados con gráficos en la etapa de compilación, por ejemplo, para convertir imágenes PNG en texturas comprimidas o para convertir sombreadores y mallas en formatos binarios optimizados para equipos específicos.
  • Incorporando un motor unificado para temas y estilos que le permite lograr la apariencia de aplicaciones basadas en Qt Widgets y Qt Quick, nativas de diferentes plataformas móviles y de escritorio.

Además, como sistema de compilación, se decidió utilizar CMake en lugar de QMake. Se mantendrá la compatibilidad para crear aplicaciones con QMake, pero Qt se creará utilizando CMake.

Se eligió CMake porque este kit de herramientas fue ampliamente utilizado entre los desarrolladores de proyectos C ++ y es compatible con muchos entornos de desarrollo integrados. La comunidad continúa con el desarrollo del sistema de compilación Qbs, que afirmaba ser un reemplazo de QMake.

Transición durante el desarrollo al estándar C++ 17 (se usó previamente C++ 98). Qt 6 planea implementar el soporte para muchas características modernas de C++, pero sin perder la compatibilidad con el código basado en estándares anteriores.

Posibilidad de utilizar en código C ++ algunas funcionalidades ofrecidas para QML y Qt Quick.

En particular, se introducirá un nuevo sistema de propiedades para QObject y clases similares. Se integrará un motor de encuadernación desde QML en el núcleo de Qt, lo que reducirá la carga y el consumo de memoria para los aglutinantes y los hará disponibles para todas las partes de Qt, no solo para Qt Quick.

Este lanzamiento solo incluye solo el marco inicial de la futura versión Qt 6, que está programada para el 1 de diciembre de 2020.

La funcionalidad en la rama Qt 6 se expandirá hasta que la base del código se congele el 31 de agosto.

Fuente: https://www.qt.io


Some say he’s half man half fish, others say he’s more of a seventy/thirty split. Either way he’s a fishy bastard.