Standing for K Desktop Environment according to Abbreviationfinder, KDE is written almost exclusively in C ++, a language derived from the C programming language with some added functionality, especially in object-oriented programming. Despite criticism against this (initially less mature) language, its adoption by the KDE project has resulted in more dynamic development and shorter release cycles, while allowing efficient programs to be produced in fewer lines of software. code than those required for the same tasks using structured programming languages (for example: C).
KDE is built on the Qt Library for graphical application programming. Qt facilitates Object Oriented Programming and component creation, providing a solid foundation for building any type of graphical application.
KDE also has its own input / output system called KIO, which can access a local file, a network resource (through protocols such as HTTP, FTP, NFS, SMB, etc.), or virtual protocols (Camera of photos, compressed file, etc.) with absolute transparency, benefiting every KDE application. KIO’s modular architecture allows developers to add new protocols without requiring modifications to the base of the system.
Finally, (KParts) allows you to include applications within others, thus avoiding code redundancy throughout the system. Additionally, it has its own HTML engine called KHTML, which is being reused and expanded by Apple (to create its Safari browser), and by Nokia.
It uses version 3 of the Qt 3 graphical libraries, and its sound system is a new version of the criticized aRts, already present in KDE 2. The KHTML Engine, used by Konqueror, also comes from KDE 2. For intercommunication of applications it was designed the DCOP system, although it was later replaced by its evolution D-BUS.
KDE 4 is based on the fourth version of Qt which, in principle, increases performance compared to the previous version. The revamped Libraries and compilation tools will also facilitate support for non-X11-based platforms, including Microsoft Windows and Mac OS X, since one of the goals of KDE 4 is that it can be more easily ported to different Operating Systems. The first technical revision of KDE 4 coincided with the date of the KDE project’s tenth birthday. Much of the technical work was carried out at the aKademy 2006 held in Dublin. Some of its novelties are explained below:
- Faster and more memory efficient, thanks to the substantial speed and efficiency improvement in Qt 4.x and the internal enhancement of KDE’s own libraries.
- A rewritten HIG and style guides.
- A new theme of icons and visual styles, developed by the Oxygen Project, which will extend the use of SVGs.
- A completely new desktop and panels, collectively called Plasma, that will integrate the current Kicker, KDesktop, and SuperKaramba.
- A simplified interface for the Konqueror browser, which will no longer be the default file manager in favor of Dolphin.
- A new multimedia interface called Phonon, making KDE independent of a specific multimedia system.
- A new API for networks and portable devices, called Solid.
- A new communication system called Decibel.
- A new search and metadata system, probably called Tenor. You could incorporate Strigi as a service for indexing files, and Nepomuk for its integration into KDE.
- Facilitate the portability of libraries needed so that KDE applications can be easily ported and run on Windows and Mac OS X.
- A new spell checker called Sonnet, with automatic language detection. It will replace kspell to flag spelling errors that are commented out in any KDE application. One of the advantages over kspell, is along with a design that is easier to maintain, the ability to detect and correct errors in texts with several different languages mixed within the text.
- ThreadWeaver as software to harness the power of multi-core CPUs and make it easier to parallelize processes.
- WebKit as an HTML engine for Konqueror.
During Google’s Summer of Code, an icon cache was implemented to optimize application startup speed, specially designed for KDE 4. The results were mixed, as an application that used hundreds of icons like Kfinder, started in at least a quarter of the time it used to take. While other applications and the entire KDE session managed to start a second faster which is important considering that new versions of software are generally heavier than their predecessors.
Below is a list of some applications that use the Qt Library and others that also use the KDE libraries. Although they work in any Desktop Environment or Window Manager, their execution under KDE is more efficient. Likewise, in KDE all kinds of applications can be loaded in addition to the ones listed below.
- Amarok – Audio Player.
- Dolphin – File Browser.
- K3b – Optical Media Recording Suite.
- Kate – Text Editor.
- Kdevelop – Integrated Development Environment.
- Konsole – Terminal emulator.
- Kontact – Manager of personal information, email accounts, RSS feeds, calendar, and more.
- Kopete – Multi-protocol instant messaging client.
- Konqueror – Web and file browser.
- KDELibs – Main Libraries.
- KHTML – HTML rendering engine.
- KIO – Allows access to files, websites and other sources with a simple and consistent API.
- Kiosk – Allows you to disable KDE features to create a more controlled environment.
- KParts – Component framework.
- KWin – Window manager.
- XMLGUI – Allows you to define user interface elements such as menus and toolbars through XML files.
Technologies added in KDE 4
- Akonadi – Personal Information Management Framework.
- Plasma – Desktop and panel rendering engine (GUI).
- Phonon – Multimedia Framework.
- Decibel – Communications Framework.
- Nepomuk – Semantic desk.
- Solid – Device integration framework.
- Sonnet – Spell Checker.
- ThreadWeaver – Liberia to use multiprocessors more efficiently.
- WebKit – HTML Engine.
Technologies Replaced in KDE 4
- aRts – sound server, replaced with Phonon
- DCOP – System for inter-process communication, replaced with D-Bus
As the project history shows, the KDE team releases new versions in short periods of time. They are renowned for sticking to release plans, and it’s rare for a release to be more than two weeks late.
One exception was KDE 3.1, which was delayed for over a month due to a number of security-related issues in the codebase. Keeping strict release plans on a voluntary project of this size is unusual.
|July 12, 1998||KDE 1.0|
|February 6, 1999||KDE 1.1|
|October 23, 2000||KDE 2.0|
|February 26, 2001||KDE 2.1|
|August 15, 2001||KDE 2.2|
|April 3, 2002||KDE 3.0|
|January 28, 2003||KDE 3.1|
|February 3, 2004||KDE 3.2|
|August 19, 2004||KDE 3.3|
|March 16, 2005||KDE 3.4|
|November 29, 2005||KDE 3.5|
|January 11, 2008||KDE 4.0|
|July 29, 2008||KDE 4.1|
|January 27, 2009||KDE 4.2|
|August 4, 2009 <||KDE 4.3|
|February 9, 2010||KDE 4.4|
A major release of KDE has two version numbers (for example KDE 1.1). Only the major releases of KDE incorporate new functionality. There have been 16 major releases so far: 1.0, 1.1, 2.0, 2.1, 2.2, 3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 4.0, 4.1, 4.2, 4.3, and 4.4. All releases with the same major version number (KDE 1, KDE 2, KDE 3, and KDE 4) are supported in both binary code and source code. This means, for example, that any software developed in KDE 4.2.X will work with all KDE 4 releases.
Except during major version changes, alterations never occur requiring recompilation or source code modification. This maintains a stable API(Application Programming Interface) for KDE application developers. The changes between KDE 1 and KDE 2 were large and numerous, while the API changes between KDE 2 and KDE 3 were comparatively minor. This means that applications can be easily transformed to the new architecture.
Major version changes to KDE are intended to follow those of the Qt Library, which is also under constant development. So, for example, KDE 3.1 requires Qt ≥ 3.1 and KDE 3.2 requires Qt ≥ 3.2. However, KDE 4.0 requires Qt ≥ 4.3 and KDE 4.1 requires Qt ≥ 4.4.
As soon as a major release is ready and announced, it is added to the svn repository “branch”, while work on the next major release begins on the main one (trunk). A major release takes several months to complete, and many bugs found during this stage are removed from the stable branch as well.
Less separate release dates are scheduled for minor releases. A minor KDE release has three version numbers (for example KDE 1.1.1) and the developers focus on fixing bugs and improving minor aspects of the programs instead of adding functionality.
- KDE was criticized in its early days because the library on which it is developed (Qt), despite following a development based on open source, was not free. The 4 as September as 2000, the Library began distributing licensed under the GPL 1 and criticisms were gradually ceasing. Currently, and since version 4.5, the library is additionally available under LGPL 2.1.
- Some people outside the project criticize KDE’s similarity to the Windows Desktop Environment. This observation, however, falls on the selection of predefined parameters of the environment; often aimed at making it easier to use for new users, most of whom are used to working with Microsoft operating systems. However, KDE has a high configuration capacity and in its branch 4 it has desktop effects integrated in Plasma and KWin, comparable to those of Compiz.