Trigésima actualización de KDE Frameworks 6 y librería KCoreAddons

Como los lectores habituales del blog sabrán,el 28 de febrero de 2024 la Comunidad KDE realizó un importante salto tecnológico, uno que marcó su evolución para los próximos años. Este gran cambio a las librerías Qt 6 nos proporcionó el nuevo escritorio Plasma 6, del que ya he hablado a lo largo de muchas entradas. Pero no solo fue eso, sino que además nos trajo el salto también a KDE Frameworks 6, las librerías propias del proyecto KDE. Hoy 10 de septiembre ha sido anunciado la trigésima actualización de KDE Frameworks 6, el motor del proyecto que soporta todo el resto de la infraestructura. Como extra de este año voy a complementar esta serie con el listado y descripción de los componentes de esta importante pieza de la maquinaria de KDE.

Trigésima actualización de KDE Frameworks 6 y librería KCoreAddons

A pesar de que para los usuarios corrientes esta noticia sea algo confusa ya que no se trata de realzar una nueva aplicación ni de una nueva gran funcionalidad del escritorio, el desarrollo de KDE Frameworks tiene repercusiones directas en él a medio y largo plazo.

Trigésima actualización de KDE Frameworks 6 y librería KCoreAddons
Konqi tiene un corazón Qt

Para los que no lo sepan, KDE Frameworks añade unas 83 librerías a la propias de Qt que proporcionan una gran variedad de funcionalidades necesarias y comunes, precisadas por los desarrolladores, testeadas por aplicaciones especí­ficas y publicadas bajo licencias flexibles.

De esta forma, KDE Frameworks se convierte en la base de trabajo de los desarrolladores para realizar sus aplicaciones o sus desarrollos para los entornos de trabajo (escritorio para ordenadores, plasma mobile, etc).

Un buen símil es que KDE Frameworks es como el papel y las herramientas de dibujo para un artista: cuanto mejor sea el papel y mejores pinceles tenga, la creación de una artista será mejor.

Como he dicho, el pasado 28 de febrero de 2024 KDE Frameworks saltó de la versión 5 a la 6, y el 10 de septiembre de 2026 fue anunciado que ya tenemos la trigésima actualización de la rama, es decir, que ha sido lanzado KDE Frameworks 6.30.

Hay que destacar que esta versión forma parte de una srie de versiones mensuales planificadas para poner las mejoras a disposición de los desarrolladores de forma rápida y previsible y que es absolutamente recomendable su actualización.

Más información: KDE |KDE Frameworks en el blog.

Librería KCoreAddons

Tal y comenté el a principio de año, voy a ir describiendo cada una de las librerías que nos ofrece KDE Frameworks. El mes de febrero empecé con la única de Tier 0, o nivel base de KDE Frameworks, Extra CMake Modules (ECM), y desde el mes de marzo inicié la serie de las Tier 1 con Attica, BluezQt,KArchive, KCalendarCore, KCodecs y KConfig.

Este mes seguimos con la séptima librería de KDE Frameworks, KCoreAddons cuya función principal es simplemente añadir extensiones y utilidades a QtCore. Y ya que estamos, ¿qué es QtCore? Pues es el módulo base del framework Qt: contiene las clases fundamentales, no gráficas, sobre las que se construye el resto de Qt.

Trigésima actualización de KDE Frameworks 6 y librería KCoreAddons

Todas esta idea, para alguien como yo que no es programador se queda algo corta ya que no entiendo bien que son las clases, así que en un intento de saber más he buscado la definición de clase y me sale que es una plantilla o «molde» que define:

  • Datos que va a guardar (llamados atributos o propiedades). Ej: un QString guarda internamente el texto y su longitud.
  • Comportamientos que puede realizar (llamados métodos o funciones). Ej: QString tiene métodos como toUpper(), length(), split().

Así, a partir de una clase se crean objetos (instancias concretas). Veamos una analogía: La clase es el plano; el objeto es la casa construida con ese plano.

Por tanto, lo que realmente hace KCoreAddones es añadir clases para el ecosistema KDE basadas en QtCore.

En otras palabras, QtCore aporta las clases base y genéricas (texto, archivos, hilos, tiempo, etc.), pensadas para cualquier aplicación Qt, sin ninguna orientación concreta y KCoreAddons toma esas piezas genéricas y construye clases específicas encima, pensadas para necesidades más concretas que aparecen en aplicaciones de KDE: gestión de tipos MIME, guardado automático, copias de seguridad, generación de aleatoriedad, sustitución de macros en texto, información de usuarios del sistema, etc.

Más información:

Las librerías de KDE Frameworks 6

Las librerías que conforman KDE Frameworks se categorizan, según podemos leer en la documentación de KDE API Reference/KDE Libraries, en varios niveles de complejidad, categorías o, en inglés,Tier, que es como lo vamos a leer en muchos sitios.

De esta forma tenemos el siguiente listado categorizado.

Tier 0: nivel base de KDE Frameworks, independiente de cualquier otro framework de KDE.
Extra CMake Modules (ECM)
Módulos extra de CMake

Tier 1: dependen solo de Qt (y posiblemente un pequeño número de otras bibliotecas de terceros), por lo que pueden usarse fácilmente en cualquier proyecto basado en Qt.

Tier 2: dependen adicionalmente de frameworks de Tier 1, pero aún tienen dependencias fácilmente manejables.

Tier 3: son generalmente paquetes más potentes y completos, y por consiguiente tienen dependencias más complejas.

Tier 4: pueden ser en gran parte ignorados por los programadores de aplicaciones; este tier consiste en plugins que actúan en segundo plano para proporcionar funcionalidad adicional o integración de plataforma a frameworks existentes (incluyendo Qt).

El único tier de esta categoría o nivel es FrameworkIntegration

En un futuro iremos describiendo cada una de estas librerías, con sus usos más comunes.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *