Estructuras de KDE - KDE Frameworks

Estructuras de KDE
Mascota de KDE Konqi para KDE Frameworks.png
Autor (es) original (es) KDE
Desarrollador (es) KDE
Versión inicial 1 de julio de 2014 ; hace 7 años (1 de julio de 2014 )
Lanzamiento estable
5.87.0  Edita esto en Wikidata / 9 de octubre de 2021 ; Hace 7 días ( 9 de octubre de 2021 )
Repositorio
Escrito en C ++ ( Qt )
Sistema operativo Multiplataforma (incluida la compatibilidad "parcial" con Android , Windows , macOS y Haiku )
Escribe
Licencia Licencia pública general reducida de GNU (LGPL)
Sitio web api .kde .org / frameworks / index .html Edita esto en Wikidata

KDE Frameworks es una colección de bibliotecas y marcos de software disponibles para cualquier pila de software o aplicaciones basadas en Qt en múltiples sistemas operativos . Con soluciones de funcionalidad que se necesitan con frecuencia, como integración de hardware, soporte de formato de archivo, elementos de control gráfico adicionales , funciones de trazado y revisión ortográfica , la colección sirve como base tecnológica para KDE Plasma 5 y KDE Gear distribuidos bajo la GNU Lesser General Public License (LGPL).

Visión general

Los marcos de trabajo actuales de KDE se basan en Qt 5, lo que permite un uso más generalizado de QML , un lenguaje de programación declarativo más simple basado en JavaScript , para el diseño de interfaces de usuario. El motor de renderizado de gráficos utilizado por QML permite interfaces de usuario más fluidas en diferentes dispositivos.

Parte del código fuente pasó de ser parte de KDE Frameworks 5 a ser parte de Qt 5.2 y versiones posteriores.

Desde la división de la compilación del software KDE en KDE Frameworks 5, KDE Plasma 5 y aplicaciones KDE , cada subproyecto puede elegir su propio ritmo de desarrollo. Los Frameworks de KDE se lanzan mensualmente y utilizan git.

Debería ser posible instalar KDE Frameworks junto con la plataforma KDE 4 para que las aplicaciones puedan usar cualquiera de ellos.

Estabilidad API y ABI

Los lanzamientos de plataforma son aquellos que comienzan una serie (número de versión X.0). Solo estas versiones principales pueden romper la compatibilidad binaria con el predecesor. Los lanzamientos de la serie menor (X.1, X.2, ...) garantizarán 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 hacer uso de las bibliotecas de KDE 3. Los números de la 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 basa en Qt 3.

Sistemas operativos compatibles

El repositorio de cada marco debe contener un archivo llamado metainfo.yaml . Este archivo documenta el responsable del mantenimiento del marco, 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 dependencia clara, dividida en "categorías" y "niveles". Las "categorías" se refieren a 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 de tiempo de ejecución para la integración, según 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 solo paquete grande, llamado kdelibs, en KDE SC 4 . Kdelibs se dividió en varios marcos individuales, algunos de los cuales ya no forman parte de KDE pero se integraron en Qt 5.2 .

Los Frameworks de KDE se agrupan en cuatro niveles diferentes según la dependencia de otras bibliotecas.

Niveles de estructuras
Nivel 1: depende principalmente de Qt , es muy portátil
Nivel 2: depende del Nivel 1, pero las dependencias aún son manejables
Nivel 3: dependencias complejas, incluidos los niveles 1-2, etc.
Nivel 4: principalmente complementos que brindan características adicionales como soporte de plataforma; puede ser ignorado


Kirigami

Kirigami es un marco de aplicación QML desarrollado por Marco Martin que permite a los desarrolladores escribir aplicaciones que se ejecutan de forma nativa en Android, iOS, Windows, Plasma Mobile y cualquier entorno de escritorio clásico de Linux sin ajustes de 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, el mensajero Kaidan, el reproductor de música Vvave y el centro de software de KDE Discover.

Paquetes de programas

La distribución de Linux usa algún sistema de administración de paquetes para empaquetar el software que distribuyen. Debian, por ejemplo, distribuye KGlobalAccel con el nombre de paquete libkf5globalaccel , mientras que Fedora lo distribuye con el nombre kf5-kglobalaccel .

Fijaciones

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

  • Pitón
  • Ruby ( Korundum , construido sobre QtRuby )
  • Perl
  • C # (sin embargo, el marco actual para vincularse a C # y otros lenguajes .NET ha quedado obsoleto, y el reemplazo solo se compila en Windows).

Estos y otros enlaces utilizan las siguientes tecnologías:

Muchos enlaces no se actualizaron a Qt5 y KF5 o solo más adelante en el ciclo de lanzamiento.

Historia

La versión 5.0 fue precedida por una vista previa de la tecnología, dos versiones alfa y tres versiones beta.

El código fuente de KDE Frameworks ha existido desde KDElibs 1. La primera versión como KDE Frameworks fue con la versión 5, para tener en cuenta el hecho de que la base del código era la de la plataforma KDE versión 4 (la única versión principal de la plataforma KDE ).

La transición de la plataforma KDE a los marcos de trabajo de KDE comenzó en agosto de 2013, guiada por los principales colaboradores técnicos de KDE.

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

La principal mejora de Frameworks 5 es su modularización. En versiones anteriores de KDE, las bibliotecas estaban empaquetadas como un solo 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.

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

Transformación KDE4

Durante KDE SC 4, la entonces llamada Plataforma KDE consistía en 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 conoce como KDE Frameworks. Estos módulos incluyen: Solid , Nepomuk , Phonon , etc. y tienen licencia LGPL, BSD, MIT o X11.

Adopción

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

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

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

Referencias

enlaces externos