KDE Frameworks es una colección de bibliotecas y de varios Framework de software por parte de KDE, que sirven como base tecnológica para KDE Plasma 5 y las Aplicaciones de KDE distribuidas bajo la GNU Lesser General Public License (LGPL).

Los Frameworks individuales incluidos ofrecen una amplia variedad de funciones necesarias para la prestación de soluciones incluyendo la integración con el hardware, soporte de formatos de archivos, gráfica de elementos de control adicional, representación de funciones, la corrección ortográfica y más. Los Frameworks están disponibles para varios sistemas operativos.

KDE Frameworks representa un esfuerzo de renovación en la Plataforma de KDE 4 en un conjunto de individuos, independientes de plataforma de módulos que estarán disponibles para todas las aplicaciones basadas en Qt. La transición de la Plataforma KDE a KDE Frameworks comenzó en agosto de 2013, guiada por la parte superior de los colaboradores técnicos de KDE.

Después de la versión inicial de KDE Frameworks5.0 y sin el estrés de un plazo muy breve, los desarrolladores se centran en la adición de características a los componentes de KDE Frameworks5, un ejemplo de mejoras en la integración de Firefox en KDE.

Es posible instalar KDE Frameworks5 en tiempo de ejecución, junto con una KDE Platform4 para las aplicaciones. Se puede utilizar cualquiera de ellos.

Adopción El código fuente en KDE Frameworks ha sido de alrededor desde KDElibs 1. Además de la Compilación de Software KDE, puede haber otros usuarios, como por ejemplo los de los entornos de escritorio de LXQt, MoonLightDE, Hawaii o de aplicaciones, tales como Amarok, Avogadro, Trojitá o Subsurface.

La versión3.0 de Krita, el editor de gráficos de trama de la suite Koffice, que fue lanzado el 31 de mayo de 2016, depende de KDE Frameworks5 y Qt5.2. La versión anterior, 2.8, depende de la Plataforma de KDE y Qt 4.

Desarrollo Desde la división de la Compilación de Software KDE en KDE Frameworks5, KDE Plasma5 y las Aplicaciones de KDE, cada subproyecto puede escoger su propio ritmo de desarrollo. En este caso, KDE Frameworks5 será lanzado en una base mensual, y con el uso de git.

La API de ABI y su estabilidad La plataforma de lanzamientos de versiones principales comienza en una serie (número de versión X. 0). Sólo estos grandes lanzamientos tienen permitidos romper tanto los binarios y el código fuente de compatibilidad con el predecesor. Por otro lado, liberaciones en el menor de la serie (X. 1, X. 2, ...) se garantiza fuente y portabilidad binaria (API & ABI). Esto significa que, por ejemplo, que el software que fue desarrollado por KDE3.0 funcionará en todas las versiones (futuras) de KDE3; sin embargo, una aplicación desarrollada para KDE2 no está garantizada para ser capaz de hacer uso de bibliotecas de KDE3. Las versiones con una serie mayor siguen principalmente el ciclo de lanzamiento de Qt, lo que significa que KDE SC4 se basa en Qt 4, mientras que KDE3 se basa en Qt 3.

Sistemas operativos compatibles El repositorio de cada marco debe contener un archivo con el nombre de la metainformación.yaml. Estos archivos documentan el mantenedor del Framework, el tipo, el sistema operativo soportado y otra información. El mantenedor de KConfig´s es mdawson, cuyo nivel es 1, su tipo es el funcional, el soporte de las plataformas, como Linux, Windows, MacOSX y Android, no es un portingAid ni está obsoleto.

Arquitectura de Software

Estructura Los Framework tienen una clara dependencia de la estructura, dividida en "categorías" y "niveles". Las "categorías" se refieren a las siguientes dependencias en tiempo de ejecución: Los elementos funcionales no tienen dependencias en tiempo de ejecución. Su integración designa el código que pueda requerir dependencias en tiempo de ejecución para la integración, dependiendo de lo que el sistema operativo o la plataforma ofrezca. Soluciones que tienen dependencias en tiempo de ejecución obligatoria. Los "Niveles" se refieren a las dependencias en tiempo de compilación de otros Framework El nivel1 de los Framework no tienen dependencias dentro de los Framework y sólo necesita Qt y otras organizaciones competentes de las bibliotecas. El nivel2 los framework puede confiar sólo en el Nivel1. El nivel3 de los framework pueden depender de otros Framework así como el nivel2 y nivel1.

Componentes El paquete de KDE Frameworks consta de más de 60paquetes. Estos existen como un único paquete con el nombre de kdelibs, en KDE SC4. Kdelibs se dividió en varios Framework de referencia, algunos de los cuales no son parte de KDE, pero fueron integrados en Qt5.2.

KDE Frameworks se agrupan en cuatro niveles diferentes de acuerdo a la dependencia de otras bibliotecas. Los Framework de nivel1 solamente dependen de Qt o de otras bibliotecas del sistema. Los Framework de nivel2 pueden depender de las bibliotecas de nivel1, Qt o de otras bibliotecas del sistema y así sucesivamente.

Paquetes de Software Las distribuciones de Linux pueden utilizar algún sistema de gestión de paquetes para el paquete de software que distribuyen. Debian, por ejemplo, distribuye KGlobalAccel bajo el nombre de paquete libkf5globalaccel, mientras que Fedora lo distribuye bajo el nombre rf5-kglobalaccel.

Historia La primera versión de KDE Frameworks fue la versión5, para tener en cuenta el hecho de que el código base es de la versión4 de KDE (la única versión de la Plataforma de KDE). Por lo tanto, la versión5 de KDE Frameworks significa que mientras había ocurrido un reemblaje, todo el código base se había llevado de su predecesor.

Las principales mejoras orientadas en Frameworks5 incluyen el aumento de la modularización. En anteriores versiones de KDE, las bibliotecas fueron agrupados como un solo paquete grande. En KDE Frameworks, las bibliotecas se dividen en pequeños paquetes. Esto facilitará la utilización de las bibliotecas por otras en software basado en Qt, ya que las dependencias pueden ser mantenidas en un mínimo.

Mientras que KDE4 se basaba en la versión4 del Qt, KDE Framework5 se basa en la versión5 del mismo. Qt5 permite un uso más generalizado de QML, un simple lenguaje basado en Javascript, para el diseño de interfaces de usuario. El motor de procesamiento de gráficos utilizado por QML permite más fluidez de interfaces de usuario a través de diferentes dispositivos.

Referencias

Categoría:Interfaces de programación de aplicaciones Categoría:Bibliotecas de C++ Categoría:Software KDE Categoría:Bibliotecas basadas en X

Enlaces externos KDE Frameworks en Phabricator Repositorios de KDE Frameworks en Phabricator