Qt 6.3 llega con mejoras en módulos, nuevas funciones y mas
The Qt Company dio a conocer hace poco la publicación de la nueva versión del marco Qt 6.3, en el que el trabajo continúa para estabilizar y aumentar la funcionalidad de la rama Qt 6.
Esta nueva versión de Qt 6.3 brinda soporte para Windows 10, macOS 10.14+, asi como tambien para muchas distribuciones de Linux, iOS 13+, Android 6+ (API 23+), webOS, INTEGRITY y QNX.
Principales novedades de Qt 6.3
En esta nueva versión de QT 6.3 en el módulo Qt QML se propone una implementación experimental del compilador qmltc (compilador de tipo QML) que permite compilar estructuras de objetos QML en clases en C++.
Para los usuarios comerciales de Qt 6.3, se ha preparado el producto Qt Quick Compiler, que, además del Compilador de tipos QML mencionado anteriormente, incluye el Compilador de scripts QML, que permite compilar funciones y expresiones QML en código C ++. Se observa que el uso de Qt Quick Compiler permite acercar el rendimiento de los programas basados en QML a los programas nativos, en particular, al compilar extensiones, hay una reducción en el tiempo de inicio y ejecución de aproximadamente 20-35% en comparación a utilizar la versión interpretada.
Otro de los cambios que se destaca, es que en Qt Quick se ha mejorado el rendimiento y la eficiencia al trabajar con texto. Por ejemplo, se han resuelto los problemas con la ralentización del procesamiento y el consumo de memoria al pasar documentos muy grandes a los componentes Text, TextEdit, TextArea y TextInput.
Tambien se destaca que se ha agregado un elemento QML ReflectionProbe al módulo Qt Quick 3D para representar reflejos de objetos. La API de partículas 3D se ha ampliado para añadir efectos a las escenas 3D formadas por una gran acumulación de partículas (humo, niebla, etc.), ademas de que se implementó un nuevo elemento ResourceLoader que brinda herramientas para administrar recursos en Qt Quick 3D y permite precargar recursos grandes como mallas o texturas, así como controlar la admisibilidad de descargar recursos que no caen en el área visible de la escena.
Por otra parte, se destaca que se ha agregado una gran parte de las funciones nuevas al módulo Qt Core, principalmente relacionadas con la expansión de las capacidades para procesar datos de cadenas y que ademas se ha agregado compatibilidad con códigos de idioma ISO639-2 a QLocale.
De los demás cambios que se destacan de esta nueva versión:
- Se agregó soporte para especificadores de tiempo AM/PM a QDate, QTime y QLocale. Conversión simplificada entre formatos JSON y CBOR. Se agregaron los métodos QtFuture::whenAll() y whenAny().
- Se implementó el módulo «Qt Language Server» con soporte para los protocolos Language Server y JsonRpc 2.0.
- El módulo Qt Wayland Compositor ha agregado un servidor compuesto Qt Shell y una API para crear sus propias extensiones de shell personalizadas.
- Qt Quick Controls integra los tipos CalendarModel y TreeView QML con la implementación de interfaces para mostrar el calendario y los datos en una vista de árbol.
- Se agregaron los tipos QML MessageDialog y FolderDialog al módulo Qt Quick Dialogs para usar los cuadros de diálogo del sistema proporcionados por la plataforma para mostrar un mensaje y navegar por los archivos.
- Se agregó una implementación preliminar del módulo Qt PDF, que estaba presente en Qt 5.15 pero no incluido en Qt 6.
- Qt Positioning brinda la capacidad de determinar la precisión de los datos de ubicación proporcionados por las plataformas Android e iOS.
- Qt Bluetooth proporciona información sobre la compatibilidad con Bluetooth LE e información sobre el estado del adaptador Bluetooth en Windows.
- Qt Widgets ha mejorado la compatibilidad con pantallas de alta resolución, estilos y cambios de estilo mediante hojas de estilo.
- Sistema de compilación mejorado basado en CMake. Se agregó la función qt-generate-deploy-app-script() para simplificar la generación de scripts para implementar aplicaciones en diferentes plataformas.
- Se ha trabajado mucho para mejorar la estabilidad y la calidad del código base. Desde el lanzamiento de Qt 6.2, se han cerrado 1750 informes de errores.
Finalmente cabe mencionar que los próximos lanzamientos importantes de Qt 6.x, planean implementar soporte completo para WebAssembly, QHttpServer, gRPC, un backend para Qt Multimedia basado en FFmpeg, Qt Speech y Qt Location.
Si deseas conocer más al respecto, puedes consultar los detalles en el siguiente enlace.