Tux-UKUUG logo
Linux 2001 — Linux Developers' Conference
29 June - 1 July 2001,
Renold Building
, UMIST, Manchester

David Faure - MandrakeSoft

KDE Architecture and Development

KDE, the leading desktop environment for Linux/Unix, is also a very powerful development platform. This session will present the architecture and the facilities provided by KDE and Qt for application developers.

The K Desktop Environment, KDE, is the leading opensource desktop environment for Linux and other Unixes, present in all Linux distributions and supported by computer industry leaders. KDE's success comes mostly from its excellent object-oriented design and technical architecture, being written in C++ and based on the high quality toolkit Qt, as well as from its consistency, due to the effort for standardisation of the look and feel between applications, and from the amount of flexibility in the framework. Users especially appreciate the great degree of configurability offered by KDE, from widget look-and-feel to application behaviour.

In this session, you will then learn about KDE's architecture, and especially the development framework offered by the KDE libraries. With the 2.x series, KDE has indeed become a powerful development environment, adding many classes and features to those already provided by Qt.

You will see in particular how KDE applications use XML and "actions" to describe user interfaces such as menubars and toolbars, making it very easy to write a graphical application. The use of XML allows merging of any number of components' user interfaces, as well as full configurability by the user, with graphical configuration of toolbars and keybindings. In addition, KDE comes with a standard base layout for user interfaces and with standard actions, reducing even further the effort required by the application developer.

KDE also includes a communication protocol called DCOP, used for all inter-process communication purposes, such as remote method calls and scripting. This protocol also features complete interface discovery, bindings for all programming languages, a general-purpose shell client and a graphical discovery tool. It is especially interesting to see how any KDE application can be scripted at no cost, using the DCOP/Qt bridge.

Another major feature of the KDE libraries is the system configuration cache, for fast lookup of KDE's service configuration, described in terms of service types and services. Applications make queries to a "trader", to get hold of an application or a component that can handle a specific type of file or service. This facility is used for all component-based programming in KDE, for non-graphical components as well as for graphical components, defined below as "parts".

In addition, KDE is based on an asynchronous network transparency library, called KIO, which enables all applications to work seamlessly with remote files. You will see how the use of separate processes helps making it truly asynchronous.

You will finally learn about KDE's component model, called KParts, its relation with the XML user-interface and the network transparency library previously described, and how it is used throughout KDE, particularly in Konqueror and KOffice. KParts implemented in-process components, as dynamically-loaded shared libraries. This is complemented by XPart, a mechanism for out-of-process embedding.

KDE 2.x is a powerful development environment, leveraging Qt's high-quality framework by providing many features to both the developer and the user, and making it very easy to write well-designed graphical applications for Linux/Unix.

Call for Papers Speakers Programme Banquet
Location Booking Form Accommodation Credits
Weather Forecast  

IBM - Main Sponsor
Astaro Network Firewall
Astaro Network Firewall


For more information please contact UKUUG Problems? e-mail webmaster
© Copyright 2001 UKUUG Ltd