Structure The Frameworks have a clear dependency structure, divided into "categories" and "tiers". The "categories" refer to runtime dependencies: • Functional elements have no runtime dependencies. • Integration designates code that may require runtime dependencies for integration depending on what the OS or platform offers. • Solutions have mandatory runtime dependencies.
Components The KDE Frameworks bundle consists of over 70 packages. These existed as a single large package, called kdelibs, in
KDE SC 4. Kdelibs was split into several individual frameworks, some of which are no longer part of KDE but were integrated into Qt 5.2. KDE Frameworks are grouped in four different tiers according to dependency on other libraries. ; Tiers of Frameworks: :Tier 1 Mostly depend only on
Qt, highly portable :Tier 2 Depends on Tier 1, but dependencies are still manageable. :Tier 3 Complex dependencies, including Tiers 12 etc. :Tier 4 Can be mostly ignored by application programmers. Mostly plugins that provide additional features like platform support.
Kirigami Kirigami is a
QML application framework developed by Marco Martin that enables developers to write applications that run natively on Android, iOS, Windows, Plasma Mobile and any classic Linux desktop environment without code adjustments. It is used by various applications, for example
Linus Torvalds and Dirk Hohndels' scuba diving application Subsurface, the messenger client Banji, the Kaidan messenger, Vvave music player and the KDE software center Discover.
Software packages Linux distribution use some
package management system to package the software they distribute.
Debian for example distributes
KGlobalAccel under the package name
libkf5globalaccel, while
Fedora Linux distributes it under the name
kf5-kglobalaccel.
Bindings While being mainly written in C++, there are bindings for other programming languages available: • Python https://invent.kde.org/teams/goals/streamlined-application-development-experience/-/issues/9 These and other bindings use the following technologies: • Qt for Python: https://doc.qt.io/qtforpython-6 == History ==