The KDE development platform
The KDE Development Platform consists of an integrated set of technologies that help you build applications quickly and efficiently.
Background
The KDE Development Platform started out as a way to share functionality between applications KDE developers were creating. Developers realized that by sharing the workload, their applications became easier to write and maintain, and stability and consistency were improved. This philosophy is present in the guidelines for adding new functionality to the KDE Development Platform to this day: one such requirement is to have at least two distinct KDE applications which make use of it.
KDE 2.0 introduced many new technologies and concepts to the KDE Development Platform such as KParts for object embedding, KIO which provides KDE applications with network transparency, an easy multimedia API, the KHTML web engine (which was later adopted by Apple to form WebKit), a configuration framework and much more. By offering more than just simple widgets and basic tools such as filedialogs, toolbars, system-wide spell check and more, KDE applications behave more like users expect them to and less developer time is spent tweaking individual applications to meet visual and behavior guidelines.
Defining features
KDE Developer Platform version 4 introduced several new 'Pillars' for applications to use. These include Akonadi for storage and retrieval of user data, Phonon for multimedia, Solid for hardware awareness, Threadweaver for simplified multithreading, Sonnet for spellchecking, Kross for multi-language scripting support, Nepomuk for semantic file and content indexing and retrieval and Oxygen for visual design. These technologies have brought even more powerful, easy to use building blocks to the KDE Developer Platform for application developers to take advantage of. Most of these pillar technologies can also be used as independant libraries allowing developers to mix-and-match which dependencies they wish to rely on.
The entire KDE Development Platform is built upon the Qt toolkit from Qt Development Frameworks, a Nokia company. Like Qt, the KDE libraries are LGPL or BSD licensed and enable easy cross-platform development. The KDE community works on enabling KDE applications both on Unix and Unix-like operating systems such as Linux, Sun Solaris and BSD as well as Windows and Mac. Efforts are also directed at supporting KDE on mobile platforms like Symbian, Windows CE and Maemo. Other operating systems like Haiku are supported by a vibrant community.
While the KDE Platform is mainly written in C++, it includes a set of bindings for other programming languages including Python, Java, C# and Ruby.
Technologies
- User Interface
- Plasma Workspaces
- Sonnet
Spell and grammar-checking technology - KParts
Pluggable component architecture - KHTML
HTML rendering and JS library - KIO
Extensible network-enabled Input and Output framework
- Hardware and Multimedia
- Communication
- Akonadi
Centralized PIM storage solution
- Akonadi
- User Interface
- Providing Online Help
- Defining menus and toolbars in XML
- Goya
Widgets on itemlists - Services
- Policykit-KDE
Authentication framework - DBus
Inter-process communication - Starting other programs
- Nepomuk
Semantic desktop indexing technology - KNewStuff
Collaborative data sharing
- Policykit-KDE
- Games
- Gluon
High-level game development library
- Gluon
- Other
- Kross
Scripting framework
- Kross
For more information, refer to KDE Techbase

