Lanzamiento del framework Qt 6.8

La empresa Qt Company ha publicado el lanzamiento del marco Qt 6.8, donde se ha continuado trabajando en la estabilización y ampliación de la funcionalidad de la rama Qt 6. En Qt 6.8 se ha proporcionado soporte para las plataformas Windows 10+, macOS 12+, Linux (Ubuntu 22.04/24.04, openSUSE 15.5, SUSE 15 SP5, RHEL 8.8/9.2, Debian 11.6), iOS 16+, Android 9+ (API 23+), webOS, WebAssembly, INTEGRITY, VxWorks, FreeRTOS y QNX. Los códigos fuente de los componentes Qt se entregan bajo las licencias LGPLv3 y GPLv2.

Qt 6.8 ha obtenido el estatus de lanzamiento LTS, para el cual se generarán actualizaciones durante cinco años para los poseedores de una licencia comercial, lo que representa dos años más que en lanzamientos LTS anteriores. Para los usuarios no comerciales, el tiempo de soporte será de seis meses (hasta la formación de un nuevo lanzamiento significativo). El soporte de la rama LTS anterior Qt 6.5 continuará hasta mayo de 2026, mientras que el soporte de la rama LTS anterior, Qt 6.2, se ha terminado el 30 de septiembre de 2024. La rama Qt 5.15 será mantenida hasta mayo de 2025.

Principales cambios en Qt 6.8:

  • Se ha estabilizado y se ha trasladado a la categoría de módulo completamente soportado, Qt Graphs, destinado a la creación de varios tipos de gráficos 2D y 3D, así como a la visualización de grandes colecciones de datos en rápida evolución. Este módulo se desarrolla como un reemplazo universal del antiguo módulo Qt DataVisualization, vinculado a OpenGL, y el módulo Qt Charts. El nuevo módulo utiliza Qt Quick 3D y el motor de renderizado RHI (Rendering Hardware Interface), que soporta diversas API 3D (OpenGL, Vulkan, Metal y Direct 3D).

    En comparación con la versión anterior, Qt Graphs 3D incluye optimizaciones de rendimiento, se ha garantizado el soporte para la transparencia en gráficos tridimensionales (Bars3D), se han ampliado las capacidades de gestión de la ubicación y el diseño de etiquetas y títulos, y se ha mejorado el renderizado de las líneas de la cuadrícula de navegación. En Qt Graphs 2D se ha proporcionado la posibilidad de representar tipos personalizados de gráficos de barras (a través de componentes QML), se ha añadido soporte para gráficos de barras apiladas y se han ampliado las herramientas de visualización de etiquetas. Se ha unificado la API para la implementación de temas en gráficos 2D y 3D. Llamadas específicas de widgets se han trasladado al módulo Qt Graphs Widgets.

  • Se ha estabilizado y se ha trasladado al rango de módulos completamente soportados el módulo QtHttpServer, que permite integrar en aplicaciones funcionalidad de servidor HTTP, que soporta HTTP/1.1, TLS/HTTPS, WebSockets, manejo de errores, enrutamiento de solicitudes basado en parámetros en la URL (QHttpServerRouter) y REST API. En comparación con la versión anterior, en la clase QNetworkAccessManager se ha implementado la capacidad de enviar solicitudes HTTP a través de un socket local. Se ha proporcionado soporte para el uso de la clase QFormDataBuilder para simplificar la transmisión de varios conjuntos de datos (por ejemplo, datos de texto y un archivo adjunto) en una única solicitud HTTP (HTTP multi-part).
  • Se ha estabilizado y se ha trasladado al rango de módulos completamente soportados el módulo Qt GRPC, que permite acceder a servicios utilizando el protocolo gRPC.
  • Se ha estabilizado y se ha trasladado al rango de módulos completamente soportados el módulo Qt Protobuf, destinado a la serialización de clases Qt, utilizando el protocolo Protocol Buffer.
  • Se ha añadido soporte para plataformas móviles Android 14 y iOS 18.
  • Se ha proporcionado la posibilidad de desarrollar aplicaciones para sistemas de escritorio Linux y Windows con procesadores ARM, así como para los visores 3D Apple Vision Pro y Meta Quest 3 XR.
  • Se ha añadido soporte para Raspberry Pi 5, NVIDIA AGX Orin y algunas placas basadas en SoC NXP, Toradex y STM. Se ha añadido soporte para placas RISC-V StarFive VisionFive 2.
  • Se han ampliado las capacidades para la creación de versiones reducidas de Qt, que pueden ser utilizadas en dispositivos con poca memoria. Por ejemplo, al desactivar funcionalidades y componentes no utilizados de Qt, se puede lograr una reducción del tamaño de la compilación en el almacenamiento permanente del 77% y disminuir el consumo de RAM en un 32%, así como reducir considerablemente el tiempo de arranque.
  • En el módulo Qt Multimedia en la plataforma Linux, se ha implementado el soporte para la captura de pantalla utilizando la clase QScreenCapture en entornos basados en el protocolo Wayland, utilizando el servicio ScreenCast y el sistema de portales XDG Desktop. Se han añadido las clases QVideoFrameInput, QAbstractVideoBuffer y QAudioBufferInput, mediante las cuales se puede organizar el envío de datos multimedia personalizados a una sesión de grabación (QMediaCaptureSession), así como la clase QAudioBufferOutput para conectar controladores que reciben datos de sonido en la etapa posterior a la decodificación.
  • Se ha añadido el módulo Qt Quick Vector Image, que permite integrar imágenes vectoriales en formato SVG en escenas de Qt Quick, lo que puede utilizarse, por ejemplo, para crear elementos de interfaz escalables que no dependen de la resolución y tamaño de la pantalla.
    Lanzamiento del framework Qt 6.8
  • Se ha añadido el módulo Qt Quick 3D XR para crear aplicaciones para plataformas de realidad virtual y aumentada, utilizando tecnologías de Qt Quick 3D. Para organizar la interacción con entornos tridimensionales creados con Qt Quick 3D, se soporta el uso de dispositivos de seguimiento de movimiento de manos y controladores de VR. Para la visualización, se pueden utilizar las gafas Apple VisionPro o cascos 3D compatibles con el estándar OpenXR, como Meta Quest 2/3.
    Lanzamiento del framework Qt 6.8
  • Se han añadido optimizaciones en Qt Quick que aceleran el renderizado de escenas complejas. En la clase TableView se ha incorporado la posibilidad de mover columnas y filas. En los tipos Image y BorderImage se ha implementado el soporte para la carga asíncrona de imágenes (la imagen antigua permanece mientras se carga la nueva).
  • En el módulo Qt Quick Effect Maker se ha añadido soporte para la animación de sprites, la deformación de elementos en círculo, así como el uso de efectos de resplandor y desenfoque selectivo (masked blur).
  • En el módulo Qt Quick Shapes, al rellenar contornos se permite el uso de cualquier proveedor de texturas en los elementos de tipo ShapePath. En la clase QQuickRenderTarget se han añadido nuevos métodos para gestionar el procesamiento de texturas y simplificar la integración de Qt Quick 3D con motores externos, frameworks y API.
  • En Qt Quick Controls se ha propuesto un nuevo estilo Fluent WinUI3, que permite crear interfaces que se ven como Windows 11 en cualquier plataforma. En macOS se ha implementado la posibilidad de utilizar el menú global proporcionado por la plataforma en interfaces creadas mediante Quick MenuBar.
    Lanzamiento del framework Qt 6.8
  • En Qt Quick 3D se ha mejorado el renderizado de sombras, gracias al uso de mapas de sombras en cascada y un suavizado de sombras. En el tipo PrincipledMaterial se han añadido nuevas propiedades. Se ha proporcionado la posibilidad de utilizar en materiales personalizados las mismas propiedades que en los materiales basados en el tipo PrincipledMaterial.
    Lanzamiento del framework Qt 6.8
  • En el módulo Qt Network Auth se ha añadido la clase QOAuthUriSchemeReplyHandler para crear manejadores de redirección a otro esquema URI durante la autenticación utilizando OAuth 2.0. En la clase QOAuth2AuthorizationCodeFlow se ha añadido soporte para la extensión OAuth PKCE (Proof Key for Code Exchange).
  • En la clase QDnsLookup se ha añadido la posibilidad de enviar solicitudes utilizando «DNS sobre TLS», se ha implementado el soporte para registros DNS TLSA (Asociación de Certificados TLS) y se informa al cliente sobre la verificación de los datos por parte del servidor DNS.
  • En Qt Core se ha añadido la clase QChronoTimer con una envoltura sobre la biblioteca std::chrono, lo que permite aumentar la precisión de las operaciones con el tiempo. Se ha implementado la posibilidad de cambiar el tamaño de QString, QByteArray y QList sin inicializar datos. En QHash se ha agregado soporte para almacenar datos de tipos QString y QStringView en un solo hash. En QDirListing se ha proporcionado una API basada en iteradores para recorrer el contenido de los directorios.
  • En Qt GUI se ha permitido sobrescribir la configuración del esquema de color del sistema, por ejemplo, para seleccionar el modo oscuro o claro, así como las configuraciones de acciones que llevan a la invocación del menú contextual.
  • En Qt Sql, los controladores de bases de datos PostgreSQL y MySQL/MariaDB ahora manejan correctamente la hora y las fechas en situaciones donde el cliente y el servidor servidor tienen diferentes zonas horarias.
  • Qt WebEngine ha añadido nuevas clases: QWebEngineFrame para trabajar a nivel de bloques iframe individuales; QWebEngineClientHints para gestionar la identificación del navegador; QWebEnginePermission para gestionar los permisos de acceso en relación con los sitios web.
  • En Qt Widgets se ha mejorado el renderizado de widgets en pantallas con alta densidad de píxeles (high-DPI).
  • El generador de documentación QDoc ha sido trasladado de la API de C a la API de C++, y ahora requiere al menos Clang 17 para su funcionamiento. Se han añadido nuevos comandos, como «\keyword» y «\nativetype».
  • En el marco del trabajo para mejorar la estabilidad y el rendimiento de la versión LTS, se han realizado más de 500 correcciones y optimizaciones.

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