Versión alfa de Qt 6.0 disponible

Qt empresa anunció el sobre traducir el hilo Qt 6 a la etapa de prueba alfa. Qt 6 incluye cambios arquitectónicos significativos y requiere un compilador que admita el estándar C++ 17 para su compilación. Liberar resumido a partir del 1 de diciembre de 2020.

Llave Características Cuarto de galón 6:

  • Una API de gráficos abstractos que es independiente de la API 3D del sistema operativo. Un componente clave de la nueva pila de gráficos Qt es el motor de renderizado de escenas, que utiliza la capa RHI (Rendering Hardware Interface) para potenciar las aplicaciones Qt Quick no sólo con OpenGL, sino también sobre las API Vulkan, Metal y Direct 3D.
  • Módulo Qt Quick 3D con API para crear interfaces de usuario basadas en Qt Quick, combinando elementos gráficos 2D y 3D. Qt Quick 3D le permite usar QML para definir elementos de interfaz 3D sin usar el formato UIP. En Qt Quick 3D, puede usar un tiempo de ejecución (Qt Quick), un diseño de escena y un marco de animación para 2D y 3D, y usar Qt Design Studio para el desarrollo de interfaces visuales. El módulo resuelve problemas como la gran sobrecarga al integrar QML con contenido de Qt 3D o 3D Studio y brinda la capacidad de sincronizar animaciones y transformaciones a nivel de fotograma entre 2D y 3D.
  • Reestructurar la base del código en componentes más pequeños y reducir el tamaño del producto base. Las herramientas de desarrollo y los componentes especializados se proporcionarán como complementos distribuidos a través de la tienda del catálogo. Mercado Qt.
  • Modernización significativa de QML:
    • Fuerte soporte para mecanografía.
    • Capacidad para compilar QML en representación C++ y código de máquina.
    • Hacer que el soporte completo de JavaScript sea una opción (el uso de un motor JavaScript con todas las funciones requiere muchos recursos, lo que impide el uso de QML en equipos como microcontroladores).
    • Rechazo de versionado en QML.
    • Unificación de estructuras de datos duplicadas en QObject y QML (reducirá el consumo de memoria y acelerará el inicio).
    • Alejarse de la generación de estructuras de datos en tiempo de ejecución en 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 refactorización y diagnóstico de errores en tiempo de compilación.
  • Agregar herramientas para procesar activos relacionados con gráficos en tiempo de compilación, como convertir imágenes PNG en texturas comprimidas o convertir sombreadores y mallas en formatos binarios optimizados para hardware específico.
  • Incorporando un motor unificado para temas y estilos, permitiendo lograr la apariencia de aplicaciones basadas en Qt Widgets y Qt Quick, nativas para diferentes plataformas móviles y de escritorio.
  • Se decidió utilizar CMake en lugar de QMake como sistema de compilación. Se mantendrá el soporte para crear aplicaciones usando QMake, pero Qt en sí se construirá usando CMake. Se eligió CMake porque este conjunto de herramientas se utiliza ampliamente entre los desarrolladores de proyectos C++ y es compatible con muchos entornos de desarrollo integrados. Desarrollo del sistema de ensamblaje Qbs, que pretendía ser un reemplazo de QMake, continuado comunidad.
  • Transición al estándar C++17 durante el desarrollo (anteriormente se usaba C++98). Qt 6 planea implementar soporte para muchas características modernas de C++, pero sin perder compatibilidad con códigos basados ​​en estándares anteriores.
  • La capacidad de utilizar algunas de las funciones ofrecidas para QML y Qt Quick en código C++. Se presentará incluido un nuevo sistema de propiedades para QObject y clases similares. Desde QML, se integrará un motor para trabajar con enlaces en el núcleo de Qt, lo que reducirá la carga y el consumo de memoria para los enlaces y los pondrá a disposición de todas las partes de Qt, y no solo de Qt Quick.
  • Soporte ampliado para lenguajes adicionales como Python y WebAssembly.
  • Fuente: opennet.ru

Añadir un comentario