Ya esta disponible Qt 6

Ya esta disponible Qt 6

Siguiendo con los lanzamientos de las librerías gráficas y tal como anunciamos acerca del lanzamiento de GTK 4 también se anuncio por parte de The Qt Company la nueva versión de este famoso framework y que es usada para la creación de interfaces gráficas para Linux, siendo la principal herramienta de desarrollo de KDE y LXQt, pero ademas de otros programas multiplataforma como el reproductor de medios VLC, Virtualbox, Shotcut, entre otras.

Aunque se trata de una versión nueva, The Qt company a anunciado que aun no esta lista para producción. Aún falta por migrar algunos módulos de Qt5 a Qt6, algo que harán en el futuro, no se sabe si en la versión 6.1 o en la versión 6.2 de este popular framework. Entre esos módulos están Qt Multimedia, Qt Bluetooth o Qt Virtual Keyboard, por lo que The Qt company aclara que la nueva versión 6.0 aún no esta tan madura como la versión actual Qt 5.15.

Entonces, la razón principal de la existencia de Qt6, es la adaptación a las tecnologías emergentes o que han evolucionado en los últimos años, dejando la esencia de las virtudes de lo que es Qt: El desarrollo multiplataforma para escritorio, móviles y sistemas embebidos; la escalabilidad desde dispositivos de un solo propósito y de gama baja hasta aplicaciones de escritorio complejas de gama alta; sus API, herramientas y documentación; además del mantenimiento facíl que se pueda hacer, estabilidad y compatibilidad para permitir a los usuarios mantener grandes bases de código con un mínimo esfuerzo.

Bien, la principal novedad a nivel técnico es la necesidad de usar un compilador compatible con C++ 17, la última versión del lenguaje de programación multiproposito por excelencia orientado a objetos. Con este paso, The Qt Company a permitido el uso de construcciones de código de lenguaje C++ modernas al desarrollar con Qt y puntos de integración en el lado de la API

Otras novedades de Qt 6

En lo que respecta a las bibliotecas principales y las API del framework, Qt 6 incorpora las siguientes novedades:

  • Incorpora un nuevo sistema de propiedad y binding.
  • Mejoras en el soporte de la codificación Unicode.
  • Las clases QList y QVector se unifican en una misma clase.
  • Las clases QMetaType y QVariant son fundamentales para el funcionamiento del sistema de meta objetos de Qt.

Otra de las incorporaciones incluidas en Qt 6, es la gran cantidad de cambios referentes a componentes que no están relacionados con los gráficos, como el hecho de que Qt Concurrent haya:

experimentado una reescritura casi completa para hacer que el desarrollo de las aplicaciones multiproceso sea más sencillo que nunca.

Las GPU son protagonistas en el ultimo decenio y ahí también Qt 6 quiere ser un participante de este aspecto. Qt 5 se apoyó en su momento en OpenGL para la aceleración por hardware, pero la necesidad de adaptarse mejor a las API's propietarias de Microsft y Apple: DirectX y Metal, han hecho que adopte nuevas tecnologías.

Es así que en Qt 6 se ha introducido y activado por defecto Rendering Hardware Interface (RHI), una nueva capa de abstracción para gráficos 3D cuya misión es que dependiendo cual se el caso: si esta en Windows se apoye en Direct3D o si se esta en macOS se apoye en Metal de forma automática.

Para el apartado de Linux aun no se ha comentado si esta característica ha llegado o no, si seguirá apoyando en OpenGL o si ya inicio la transición a Vulkan

Qt Quick 3D es un módulo reciente que pretende ofrecer una API con soporte completo para la creación de escenas complejas en 3D, todo con la intención de que sea tan fácil de usar como las partes existentes de Qt Quick y permitir una integración perfecta entre los contenidos en 2D y 3D.

Un aspecto adicional interesante de Qt 6 es que ahora se construye usando CMake, lo que ha repercutido en más mejoras para aquellos desarrolladores que usan CMake en sus proyectos, aunque el soporte de qmake seguirá presente durante el tiempo de vida útil de esta versión de este framework.

También esta nueva versión sera suministrado como un paquete mas pequeño, lo que hará que muchos complementos sean suministrados a partir de ahora, como paquetes separados a través del correspondiente gestor.

Un aspecto adicional interesante de Qt 6 es que ahora se construye usando CMake, lo que ha repercutido en más mejoras para aquellos desarrolladores que usan CMake en sus proyectos, aunque el soporte de qmake seguirá presente durante el tiempo de vida útil de esta versión de este framework.

Pues bien, hasta acá las novedades mas destacadas de este lanzamiento de Qt 6, la próxima versión del framework, aunque no están todas; vea la lista completa viendo el anuncio oficial y la wiki del framework.

Terminamos diciendo o mas bien, recordando lo que ya habíamos escrito en este articulo, sobre la intenciones de The Qt company de dar soporte a largo plazo a socios comerciales (de pago) por un año, cerrando el paso a las versiones comunitarias.