Lanzamiento del marco Qt 5.15

Presentado lanzamiento del marco multiplataforma Qt 5.15. Los textos fuente de los componentes de Qt se distribuyen bajo las licencias LGPLv3 y GPLv2. En diciembre se publicará una nueva rama Qt 6, en la que se esperan cambios arquitectónicos significativos. Para facilitar la futura transición a la rama Qt 6, Qt 5.15 incluye implementaciones preliminares de algunas novedades y se han añadido advertencias sobre la próxima descontinuación de la funcionalidad prevista para eliminar en Qt 6.

Qt 5.15 se clasifica como una versión con soporte a largo plazo (LTS). Sin embargo, las actualizaciones de la rama 5.15 se publicarán solo hasta que se forme una nueva versión significativa, es decir, aproximadamente durante medio año. El ciclo LTS extendido, que implica la formación de actualizaciones durante tres años, estará limitado a usuarios con licencia comercial (para empresas estándar — $5508 al año por desarrollador, y para startups y pequeñas empresas — $499 al año). Qt Company también consideró la posibilidad de cambiar al modelo de distribución de Qt, en el que todas las versiones durante los primeros 12 meses solo se distribuirían a usuarios con licencias comerciales. Pero hasta ahora, esta idea no ha ido más allá de la discusión.

Principales Novedades de Qt 5.15:

  • Se ha continuado el trabajo en la creación de una API gráfica abstracta, independiente del API 3D del sistema operativo. Un componente clave de la nueva pila gráfica de Qt es el motor de renderizado de escenas, que utiliza la capa RHI (Interfaz de Hardware de Renderizado) para permitir que las aplicaciones Qt Quick funcionen no solo con OpenGL, sino también sobre APIs Vulkan, Metal y Direct 3D. En 5.15, la nueva pila gráfica se ofrece en forma de opción con el estado 'Technology Preview'.
  • Se ha garantizado el soporte completo del módulo Qt Quick 3D, desde el cual se eliminó la designación de desarrollo experimental. Qt Quick 3D proporciona una API unificada para crear interfaces de usuario basadas en Qt Quick, combinando elementos de gráficos 2D y 3D. La nueva API permite usar QML para definir elementos 3D de interfaces sin necesidad de recurrir al formato UIP. En Qt Quick 3D, se puede usar un solo runtime (Qt Quick), un diseño de escena y un marco de animación tanto para 2D como para 3D, y para el desarrollo visual de la interfaz se puede aplicar Qt Design Studio. Este módulo aborda problemas como los altos costos de integración de QML con contenido de Qt 3D o 3D Studio, y ofrece la posibilidad de sincronizar animaciones y transformaciones a nivel de fotogramas individuales entre 2D y 3D.

    Entre las nuevas capacidades añadidas a Qt Quick 3D se menciona el soporte para efectos de post-procesamiento, una API de C++ para manejar geometría, una API de rotación basada en la clase QQuaternion, y el soporte para fuentes de luz puntuales. Para evaluar varias capacidades de Qt Quick 3D, preparados se ha diseñado una aplicación demostrativa que muestra cómo se pueden cambiar tipos y fuentes de iluminación, utilizar modelos complejos, manipular texturas, materiales y suavizado. Simultáneamente, se propone lanzamiento del entorno para el diseño de interfaces de usuario, Qt Design Studio 1.5, que implementa soporte completo para Qt Quick 3D.


    Reproducir video
  • En Qt QML, el trabajo se ha enfocado en la preparación para Qt 6. Se ha implementado la capacidad de aplicar propiedades con la designación 'required' en los componentes, cuyo establecimiento es obligatorio. La utilidad qmllint ha mejorado la generación de advertencias sobre posibles problemas en el código QML. Se ha añadido una utilidad qmlformat, que facilita el formato del código QML según las recomendaciones de estilo de codificación. Se ha garantizado la compatibilidad de QML con la versión de Qt para microcontroladores..
  • En Qt Quick, el elemento Image ha añadido soporte para espacios de color. En Qt Quick Shapes se ha añadido un nuevo elemento PathText.
    Se ha añadido la propiedad cursorShape al controlador del puntero, a través de la cual se puede cambiar la forma del cursor del ratón en sistemas de escritorio. Se ha añadido el elemento HeaderView para facilitar la adición de encabezados verticales y horizontales en tablas basadas en TableView.
  • Se ha mejorado significativamente el soporte para la decoración de ventanas del lado del cliente (CSD), permitiendo que la aplicación defina sus propios elementos de estilo de ventana y coloque contenido arbitrario en el encabezado de la ventana.
  • Se ha estabilizado el módulo Qt Lottie, que proporciona una API ampliada para QML, permitiendo renderizar gráficos y animaciones exportadas en formato JSON a través del plugin Bodymovin para Adobe After Effects. Gracias a QtLottie, el diseñador puede preparar efectos de animación en su aplicación preferida, mientras que el desarrollador puede conectar directamente los archivos exportados a la interfaz de las aplicaciones en QtQuick. QtLottie incluye un micro-motor integrado para ejecutar animaciones, recortes, procesamiento de capas y otros efectos. El motor está disponible a través del elemento QML LottieAnimation, que se puede controlar desde el código QML de manera similar a otros elementos de QtQuick.
  • El motor browser Qt WebEngine se ha actualizado a la base de código Chromium 80 (en la rama 5.14 se utilizó Chromium 77, la versión actual es Chromium 83).
  • En el módulo Qt 3D se han mejorado las herramientas de perfilado y depuración.
  • En Qt Multimedia se ha añadido soporte para renderizar en varias superficies.
  • En Qt GUI, las operaciones de escalado y transformación de imágenes ahora se realizan en modo multihilo en muchos casos.
  • En Qt Network se ha añadido soporte para tiempos de espera configurables y accesos directos de sesión en TLS 1.3 (Session Ticket, que permiten reanudar una sesión sin guardar el estado en el lado del servidor).
  • Se ha proporcionado la posibilidad de que Qt Core, QRunnable y QThreadPool trabajen con std::function. Se ha añadido un nuevo método QFile::moveToTrash() para mover elementos a la papelera, teniendo en cuenta las especificaciones de diferentes plataformas.
  • En Qt para Android se ha añadido se ha añadido soporte para diálogos nativos para abrir y guardar archivos.

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