¡DEEPIN DTK SE HA ACTUALIZADO COMPLETAMENTE CON QT6!

QT6
DEEPIN SE ACTUALIZA A QT6

Recientemente, Deepin DTK (Development ToolKit) se ha adaptado formalmente a Qt6 (6.4.2), realizando una actualización integral. DTK, como un conjunto de sencillo y práctico marco de desarrollo general desarrollado por Deepin basado en Qt, es el núcleo de Deepin OS. El éxito de la adaptación significa que Deepin OS hará pleno uso de las nuevas características y funciones de la versión Qt6 para proporcionar a los usuarios una experiencia más avanzada y eficiente en la mayor medida posible.

Por qué adaptar Qt6

Desde el nacimiento de Deepin, Deepin Desktop OS ha atraído una amplia atención por su apariencia simple, intuitiva y bella, así como por su funcionamiento único. DTK, como componente central de desarrollo de herramientas de Deepin OS, no solamente proporciona a los usuarios un rico conjunto de controles, sino que también tiene una fuerte capacidad de personalización y alta escalabilidad, lo que inyecta una personalidad única y encanto al Deepin Desktop OS. También tiene una fuerte capacidad de personalización y una alta extensibilidad, lo que inyecta una personalidad y un encanto únicos al sistema operativo de escritorio Deepin. Por ello, el equipo de Deepin ha estado muy atento a los cambios de Qt.

Qt6, como la última versión del SDK que estamos utilizando, no es sólo una actualización de Qt5, sino también una revisión completa desde cero, que no sólo refuerza la compatibilidad multiplataforma y mejora el rendimiento, sino que también introduce un montón de nuevas características y herramientas, tales como una representación gráfica más potente, soporte multi-threading, etc. Qt6 será el futuro del sistema operativo de escritorio Deepin.

Teniendo en cuenta que Qt6 va a ser la versión principal en los próximos años, con el fin de asegurarse de que la aplicación se mantendrá al día con la última tecnología en el desarrollo futuro, hemos terminado de adaptar el DTK a Qt6(6.4.2) en Deepin V23 versión Beta.

Después de adaptar Qt6, los desarrolladores pueden acceder directamente a DTK en proyectos desarrollados basados en Qt6, sin tener que adaptar por separado Qt5 y DTK, lo que reduce en gran medida la duplicación y el desperdicio de recursos de desarrollo. Las aplicaciones ya desarrolladas en Qt6 también pueden acceder al framework DTK para desarrollar en profundidad programas más compatibles con DDE, teniendo en cuenta tanto el rendimiento como la estética.

Cuestiones de adaptación y manejo
CAMBIOS EN LA API

Qt6 ha introducido algunos cambios y ajustes importantes en algunas API, lo que ha obligado a modificar y adaptar parte del código original. Así que analizamos y refactorizamos el código para asegurar su compatibilidad con Qt6 y Qt5.

CARACTERÍSTICAS QUE FALTAN

En Qt6, debido a cambios técnicos y arquitectónicos, algunas características que existían en Qt5 pueden haber sido eliminadas, sustituidas o desactivadas (temporalmente). Esto significa que tenemos que encontrar formas alternativas de implementar la misma funcionalidad, o rediseñar y desarrollar la funcionalidad en cuestión.

COMPATIBILIDAD CON BIBLIOTECAS Y PLUGINS DE TERCEROS

Qt5 a menudo se integra con otras bibliotecas y plugins de terceros que pueden no ser totalmente compatibles con Qt6, por lo que hemos evaluado y probado estas integraciones y hemos realizado los cambios y ajustes necesarios al adaptarlas a Qt6. Por ejemplo, qtxdg/QGSettings aún no se ha adaptado completamente a Qt6, por lo que el código relacionado con libqtxdg/QGSettings se desactiva temporalmente durante la compilación de Qt6.

ACTUALIZACIÓN DE DEPENDENCIAS

Qt6 suele actualizar algunas de las bibliotecas externas y cadenas de herramientas de las que depende para cumplir los requisitos de Qt6. Es una buena idea actualizar y adaptar estas dependencias.

Implementación del empaquetado y versionado de DTK6. Después de que DTK haya adaptado Qt6, no creamos una nueva rama para gestionar DTK5 y DTK6 en aras de la mantenibilidad, utilizan el mismo conjunto de código, y DTK5 y DTK6 coexistirán en el sistema.

ADAPTACIÓN DE INTERFACES

Para las interfaces en Qt5 que han sido marcadas como obsoletas, pero que todavía están en uso, al adaptarlas a Qt6, las eliminamos directamente y las sustituimos por interfaces disponibles. Para algunas interfaces inestables, como algunas interfaces privadas de Qt o incluso variables privadas obtenidas mediante ciertas técnicas, comparamos el código fuente de las versiones Qt5 y Qt6, encontramos las interfaces modificadas según la lógica funcional, e intentamos sustituirlas por las interfaces que están disponibles públicamente en Qt6.

Resultados y planes de futuro

Durante todo el proceso de adaptación a Qt6, se produjeron más de 1000 (1609) cambios en los archivos, se añadieron más de 20000 líneas de código y se eliminaron más de 10000 líneas de código. Hasta ahora, Deepin DTK ha completado 5 iteraciones de versión, más de 100 actualizaciones, casi 200.000 líneas de código comprometido, y se ha migrado a más de 10 distribuciones de Linux.

En el futuro, seguiremos el ritmo de las últimas tecnologías para mejorar aún más la estabilidad de la aplicación. Esperamos sinceramente que esta adaptación aporte a desarrolladores y usuarios una experiencia más avanzada y eficiente, y esperamos que más partes interesadas se unan a nosotros para debatir más contenidos y contribuir al desarrollo del ecosistema.

Fuente original: https://www.deepin.org/en/2023-9-7/

Créditos y Enlaces: deepin-qt SIG: https://github.com/deepin-community/sig-deepin-qt/issues / Proyecto DTK: https://github.com/linuxdeepin/dtk / Traducido por: Edgar Bastidas / Imágenes propiedad de Deepin y usadas con permiso.

Spacer
5 21 votos
Califica el Artículo

5 Reacciones
Más antiguos
Más nuevos Más populares
Opinión desde el articulo
Ver todos los comentarios
PedroTirse
PedroTirse(@pedrotirse)
Deepineros
7 meses atrás

A lo que puedo entender, estos cambios y actualización de Qt son para deepin 23, y no se reflejan para nada en deepin 20. ¿Me equivoco?

Michi Stump
Michi Stump(@michistump1)
Deepineros
7 meses atrás

Hola estoy usando Deepin 23 Beta con Testing Repo.
Me gustaría tener los widgets conky de su repo.
También pude instalarlo, pero no se pueden instalar todas las aplicaciones. Sólo en Deepin 20.9 funciona.
¿Puede usted por favor hacer su repo compatible para Deepin 23? 
Muchas Gracias

Eli
Eli(@eli)
Administradores
Respondiendo a  Michi Stump
7 meses atrás

 Michi Stump sería mejor preguntarle a  Isaías Gätjens M en el artículo relacionado al tema.

Eli
Eli(@eli)
Administradores
Respondiendo a  Michi Stump
7 meses atrás

Adicionalmente, se me ha informado que al parecer es imposible hacer compatible dicha app con Deepin 23, ya que carece de las librerías necesarias para el funcionamiento. Pasará algún tiempo para que Deepines y sus apps sean compatibles con Deepin 23. Por eso no se recomienda su uso en dispositivos de producción o uso diario. Saludos.

5
0
Nos gustaría saber lo que piensas, Únete a la discusión.x