Articulo de referencia

Marcos de trabajo KDE

{{Cite web|url = https://www.kde.org/announcements/kde-frameworks-5.24.0.php|title = Release of KDE Frameworks 5.24.0|date = 9 July 2016|access-date = 10 July 2016|archive-date ...

KDE Frameworks es una colección de bibliotecas y marcos de software fácilmente disponibles para cualquier pila de software o aplicación basada en Qt en múltiples sistemas operativos . [ 6 ] Con soluciones de funcionalidad de uso frecuente como integración de hardware, soporte de formatos de archivo, elementos de control gráfico adicionales , funciones de trazado y corrección ortográfica , la colección sirve como base tecnológica para KDE Plasma y KDE Gear . Se distribuye bajo la Licencia Pública General Reducida de GNU (LGPL). [ 7 ] A septiembre de 2025, la última versión estable es KDE Frameworks 6 (KF6).

Descripción general

KDE Frameworks se basa en Qt, lo que permite un uso más extendido de QML , un lenguaje de programación declarativo más sencillo basado en JavaScript , para el diseño de interfaces de usuario. El motor de renderizado gráfico utilizado por QML permite interfaces de usuario más fluidas en diferentes dispositivos. [ 8 ]

Parte del código fuente se trasladó de KDE Frameworks 5 a Qt 5.2 y versiones posteriores.

Desde la división de la compilación de software de KDE en KDE Frameworks 5, KDE Plasma 5 y KDE Applications , cada subproyecto puede elegir su propio ritmo de desarrollo. KDE Frameworks se publica mensualmente [ 9 ] y utiliza Git . [ 10 ] [ 11 ]

Debería ser posible instalar KDE Frameworks junto con KDE Platform 4 para que las aplicaciones puedan usar cualquiera de los dos. [ 12 ]

Estabilidad de la API y la ABI

Las versiones principales de la plataforma son aquellas que inician una serie (número de versión X.0). Solo estas versiones principales pueden romper la compatibilidad binaria con la predecesora. Las versiones de la serie menor (X.1, X.2, ...) garantizan la portabilidad binaria ( API y ABI ). Esto significa, por ejemplo, que el software desarrollado para KDE  3.0 funcionará en todas  las versiones (futuras) de KDE 3; sin embargo, no se garantiza que una aplicación desarrollada para KDE  2 pueda utilizar las  bibliotecas de KDE 3. Los números de versión principal de KDE siguen principalmente el ciclo de lanzamiento de Qt, lo que significa que KDE SC 4 se basa en Qt  4, mientras que KDE  3 se basaba en Qt  3.

Sistemas operativos compatibles

El repositorio de cada framework debe contener un archivo llamado metainfo.yaml . [ 13 ] Este archivo documenta el responsable del framework, el tipo, el sistema operativo compatible y otra información. Las plataformas compatibles actualmente son Linux, Microsoft Windows, macOS y Android.

Arquitectura de software

Estructura

Los Frameworks tienen una estructura de dependencias clara, dividida en "categorías" y "niveles". Las "categorías" se refieren a las dependencias en tiempo de ejecución:

  • Los elementos funcionales no tienen dependencias en tiempo de ejecución.
  • La integración designa el código que puede requerir dependencias en tiempo de ejecución para su integración, dependiendo de lo que ofrezca el sistema operativo o la plataforma.
  • Las soluciones tienen dependencias de tiempo de ejecución obligatorias.

Componentes

El paquete KDE Frameworks consta de más de 70 paquetes. Estos existían como un único paquete grande, llamado kdelibs, en KDE SC 4. Kdelibs se dividió en varios frameworks individuales, algunos de los cuales ya no forman parte de KDE, pero se integraron en Qt 5.2. [ 14 ]

Los marcos de trabajo de KDE se agrupan en cuatro niveles diferentes según su dependencia de otras bibliotecas. [ 15 ] [ 16 ]

Niveles de marcos de trabajo
Nivel 1 : Depende principalmente de Qt , altamente portable.
Nivel 2 : Depende del Nivel 1, pero las dependencias aún son manejables.
Nivel 3 : Dependencias complejas, incluyendo los niveles 1 y 2, etc.
Nivel 4 : Los programadores de aplicaciones suelen ignorarlo. Se trata principalmente de complementos que proporcionan funciones adicionales, como compatibilidad con plataformas.

Kirigami

Kirigami es un marco de aplicación QML [ 18 ] desarrollado por Marco Martin [ 19 ] que permite a los desarrolladores escribir aplicaciones que se ejecutan de forma nativa en Android, iOS, Windows, Plasma Mobile y cualquier entorno de escritorio Linux clásico sin necesidad de realizar ajustes en el código.

Es utilizado por varias aplicaciones, por ejemplo la aplicación de buceo Subsurface de Linus Torvalds y Dirk Hohndels, el cliente de mensajería Banji, [ 20 ] el mensajero Kaidan, [ 21 ] el reproductor de música Vvave y el centro de software Discover de KDE.

Paquetes de software

Las distribuciones de Linux utilizan algún sistema de gestión de paquetes para empaquetar el software que distribuyen. Debian, por ejemplo, distribuye KGlobalAccel bajo el nombre de paquete libkf5globalaccel , [ 22 ] mientras que Fedora Linux lo distribuye bajo el nombre kf5-kglobalaccel . [ 23 ]

Encuadernaciones

Aunque está escrito principalmente en C++, existen enlaces disponibles para otros lenguajes de programación:

  • Python invent .kde .org /teams /goals /streamlined-application-development-experience /- /issues /9

Estas y otras encuadernaciones utilizan las siguientes tecnologías:

  • Qt para Python: doc .qt .io /qtforpython-6

Historia

El lanzamiento de la versión 5.0 fue precedido por una vista previa tecnológica, dos lanzamientos alfa y tres lanzamientos beta. [ 24 ] [ 25 ] [ 26 ]

El código fuente de KDE Frameworks existe desde KDElibs 1. El primer lanzamiento como KDE Frameworks fue con la versión 5, para tener en cuenta que la base de código era la de KDE Platform versión 4 (la única versión principal de KDE Platform ).

La transición de KDE Platform a KDE Frameworks comenzó en agosto de 2013, guiada por los principales colaboradores técnicos de KDE. [ 8 ]

Después del lanzamiento inicial de KDE Frameworks 5.0, los desarrolladores se centraron en agregar nuevas características a los componentes de KDE Frameworks 5, [ 27 ] un ejemplo es una mejor integración de Firefox en KDE. [ 28 ]

La principal mejora de Frameworks 5 es su modularización. En versiones anteriores de KDE, las bibliotecas se agrupaban en un único paquete grande. En Frameworks, las bibliotecas se dividieron en paquetes individuales más pequeños. Esto facilita la utilización de las bibliotecas por otro software basado en Qt, ya que las dependencias se pueden mantener al mínimo. [ 8 ]

Mientras que KDE 4 se basaba en la versión 4 del kit de herramientas de widgets Qt , Frameworks 5 se basa en la versión 5.

Como parte de la 'MegaRelease 6' del proyecto KDE, el 28 de febrero de 2024 se lanzó KDE Frameworks 6, actualizándolo a una base Qt 6. [ 29 ]

Transformación KDE4

Durante KDE SC 4, la entonces llamada Plataforma KDE constaba de todas las bibliotecas y servicios necesarios para KDE Plasma y las aplicaciones. A partir de Qt 5, esta plataforma se transformó en un conjunto de módulos que ahora se denominan Marcos de KDE. Estos módulos incluyen: Solid , Nepomuk , Phonon , etc., y están licenciados bajo las licencias LGPL, BSD, MIT o X11. [ 30 ]

Adopción

Además de la compilación de software de KDE , existen otros usuarios que la han adoptado, como los entornos de escritorio LXQt , MoonLightDE o Hawaii.

La versión 3.0 de Krita , el editor de gráficos rasterizados de la suite Calligra , que se lanzó el 31 de mayo de 2016, depende de KDE Frameworks 5 y Qt 5.2.

Con Kirigami, también se observa un mayor uso por parte de aplicaciones como Amarok , Avogadro , Trojitá o Subsurface .

Referencias

  1. "KDE Ships Frameworks 6.27.0" . 11 de junio de 2026. Consultado el 13 de junio de 2026 .
  2. "Lanzamiento de KDE Frameworks 5.24.0" . 9 de julio de 2016. Archivado del original el 11 de julio de 2016. Consultado el 10 de julio de 2016 .
  3. "Android - KDE Community Wiki" . Archivado del original el 26 de agosto de 2016. Consultado el 11 de julio de 2016 .
  4. "Página principal de la API de KDE" . Archivado del original el 26 de agosto de 2016. Consultado el 11 de julio de 2016 .
  5. "Primera versión de KDE Frameworks 5" . 7 de julio de 2014. Archivado del original el 5 de septiembre de 2015. Consultado el 8 de julio de 2014 .
  6. "Los marcos de trabajo de KDE" . Documentación de la API . Archivado del original el 7 de diciembre de 2019. Consultado el 17 de marzo de 2020 .
  7. "KDE Frameworks" . Base tecnológica . Archivado del original el 13 de agosto de 2020. Consultado el 17 de marzo de 2020 .
  8. 1 2 3 Howard Chan (04-09-2013). "Evoluciona la estructura de lanzamiento de KDE" . KDE. Archivado del original el 12-11-2020 . Recuperado el 27-02-2014 .
  9. "Calendario de lanzamiento de KDE Frameworks 5" . Archivado del original el 24 de junio de 2016. Consultado el 18 de mayo de 2016 .
  10. "Flujo de trabajo de Git para Frameworks" . Archivado del original el 20/10/2020 . Consultado el 19/08/2014 .
  11. "Documentación de la API de KDE Frameworks5" . Archivado del original el 22 de agosto de 2014.
  12. "Coinstalación con KDE Platform 4" . Archivado del original el 1 de diciembre de 2020. Consultado el 19 de agosto de 2014 .
  13. "metainfo.yaml de KConfig" .
  14. Jos Poortvliet (17 de diciembre de 2013). "Qt 5.2 - Base para KDE Frameworks 5" . Dot.kde.org. Archivado del original el 11 de noviembre de 2020. Consultado el 10 de marzo de 2014 .
  15. Howard Chan (25-09-2013). "Frameworks 5" . Dot.kde.org. Archivado del original el 26-11-2020 . Recuperado el 10-03-2014 .
  16. "Documentación de la API" . api.kde.org . Archivado del original el 2 de octubre de 2021. Consultado el 2 de octubre de 2021 .
  17. "KWindowSystem en Frameworks 5" . 6 de febrero de 2014. Archivado del original el 28 de julio de 2014. Consultado el 25 de julio de 2014 .
  18. «KDE Kirigami» . KDE. Archivado desde el original el 29 de julio de 2019 . Consultado el 25 de noviembre de 2018 .
  19. "Colaboradores de KDE/Kirigami" . GitHub . Archivado del original el 30 de abril de 2019. Consultado el 8 de agosto de 2021 .
  20. Archivado en Ghostarchivey la Wayback Machine: "Banji (Ring-KDE), nuevo tema para Linux y Android en escritorio" . YouTube . Marzo de 2019.
  21. "Kaidan: ¡un cliente XMPP fácil de usar para cualquier dispositivo!" . GitHub . 4 de julio de 2021. Archivado del original el 26 de abril de 2019. Recuperado el 8 de agosto de 2021 .
  22. "KGlobalAccel en Debian" . Archivado del original el 20 de septiembre de 2016. Consultado el 11 de septiembre de 2016 .
  23. "KGlobalAccel en Fedora" .
  24. "Frameworks 5 Technology Preview" . KDE. 7 de enero de 2014. Archivado del original el 26 de febrero de 2014. Consultado el 27 de febrero de 2014 .
  25. "KDE lanza la primera versión alfa de Frameworks 5" . KDE. 14 de febrero de 2014. Archivado del original el 1 de marzo de 2014. Consultado el 27 de febrero de 2014 .
  26. "KDE lanza la segunda versión alfa de Frameworks 5" . KDE. 3 de marzo de 2014. Archivado del original el 9 de marzo de 2014. Consultado el 4 de marzo de 2014 .
  27. "Actas de la reunión de actualización de KF5 2014-w28" . 8 de julio de 2014. Archivado del original el 7 de marzo de 2016. Consultado el 10 de julio de 2014 .
  28. "Integración de Firefox + KDE: Cómo lograr que FF utilice Dolphin de forma fiable" . 3 de julio de 2014. Archivado del original el 15 de mayo de 2018. Consultado el 10 de julio de 2014 .
  29. «Anuncio de KDE MegaRelease 6» . 2024-02-28 . Consultado el 20 de marzo de 2024 .
  30. "Política de licencias de KDE" . Archivado del original el 16 de diciembre de 2010. Consultado el 6 de noviembre de 2010 .
  • KDE Frameworks en la propia instancia Gitlab de KDE
  • Marcos de trabajo de KDE en Phabricator antiguo
Obtenido de " https://en.wikipedia.org/w/index.php?title=KDE_Frameworks&oldid=1358060739#Plasma-framework "