KDE Libraries

KDE Frameworks

The KDE Frameworks build on the Qt framework, providing everything from simple utility classes (such as those in KCoreAddons) to integrated solutions for common requirements of desktop applications (such as KNewStuff, for fetching downloadable add-on content in an application, or the powerful KIO multi-protocol file access framework).

The KDE Frameworks can be used in CMake-based and QMake-based projects, and most of them are portable to at least Windows, Mac and Linux. The documentation of each framework has code snippets that show how to include the framework in a QMake or CMake project.

The frameworks are divided into four tiers, based on the kind of dependencies that they have. For instance, Tier 1 frameworks depend on Qt and possibly some third-party libraries, but not on other frameworks. This makes them easy to integrate into existing applications.

Tier 1

Tier 1 frameworks depend only on Qt (and possibly a small number of other third-party libraries), so can easily be used by any Qt-based project.

Tier 2

Tier 2 frameworks additionally depend on tier 1 frameworks, but still have easily manageable dependencies.

Tier 3

Tier 3 frameworks are generally more powerful, comprehensive packages, and consequently have more complex dependencies.

Tier 4

Tier 4 frameworks can be mostly ignored by application programmers; this tier consists of plugins acting behind the scenes to provide additional functionality or platform integration to existing frameworks (including Qt).

  • TODO: ECM

    TODO: There are frameworks that don't have API: kded, qqc2-desktop-style, breeze-icons, kimageformats, kdoctools

    Other Libraries

    These libraries are also offered by the KDE Community but don't neccesarily provide the same quality standards and compatibility promises as the KDE Frameworks.

    Plasma

    PIM

    Other

    ...