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.
-
Open Collaboration Services API
-
Qt wrapper for BlueZ 5 DBus API
-
-
The KDE calendar access library
-
-
-
-
-
Add support for global workspace shortcuts
-
-
Holiday calculation library
-
Advanced internationalization framework
-
-
QtQuick plugins to build user interfaces based on the KDE human interface guidelines
-
Models for Qt Model/View system
-
Widget addons for Qt Model/View
-
Lightweight plotting framework
-
A QtQuick module providing high-performance charts
-
-
Library to allow application developers to separate the structure of documents from the data they contain
-
-
-
Access to the windowing system
-
Qt wrapper for ModemManager API
-
Qt wrapper for NetworkManager API
-
Barcode abstraction layer providing uniform access to generation of barcodes
-
Hardware integration and detection
-
Support for spellchecking
-
High-level multithreading framework
Tier 2
Tier 2 frameworks additionally depend on tier 1 frameworks, but still have easily manageable dependencies.
-
Abstraction to system policy and authentication features
-
Classes to interact with KColorScheme
-
Text completion helpers and widgets
-
Support for vCard contacts
-
Support for application crash analysis and bug report from apps
-
Provides integration of QML and KDE Frameworks
-
A file metadata and text extraction library
-
Abstraction for system notifications
-
Library to load and install packages of non binary files as they were a plugin
-
-
Library for querying installed applications and their associated file types
-
Implementation of Status Notifier Items
-
Support for unit conversion
-
An RSS/Atom parser library
Tier 3
Tier 3 frameworks are generally more powerful, comprehensive packages, and consequently have more complex dependencies.
-
Baloo is a file indexing and searching framework
-
Support for bookmarks and the XBEL format
-
Utilities for working with KCModules
-
Widgets for configuration dialogs
-
An DAV protocol implementation with KJobs
-
Integration with su for elevated privileges
-
-
Resource and network access abstraction
-
Widgets for tracking KJob instances
-
Support for downloading application assets from the network
-
Configuration system for KNotify
-
Document centric plugin system
-
Provides access to all contacts and the people who hold them
-
Parallelized query system
-
A library for rendering SVG-based themes with stylesheet re-coloring and on-disk caching
-
Advanced embeddable text editor
-
Advanced text editing widgets
-
Secure and unified container for user passwords
-
User configurable main windows
-
Offers available actions for a specific purpose.
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).
Workspace and cross-framework integration plugins
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
-
-
-
Integrate the layer-shell protocol with Qt
-
PIM
Other
...