mirror of
https://github.com/beyondx/Notes.git
synced 2026-02-06 03:44:12 +08:00
75 lines
4.1 KiB
Plaintext
75 lines
4.1 KiB
Plaintext
Content-Type: text/x-zim-wiki
|
|
Wiki-Format: zim 0.4
|
|
Creation-Date: 2011-11-17T09:30:21+08:00
|
|
|
|
====== The KDE development platform ======
|
|
Created Thursday 17 November 2011
|
|
|
|
http://kde.org/developerplatform/
|
|
|
|
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 ===
|
|
Solid
|
|
Hardware and network awareness
|
|
Phonon
|
|
Multimedia framework
|
|
|
|
=== Communication ===
|
|
Akonadi
|
|
Centralized PIM storage solution
|
|
|
|
=== 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 (might move here from projects)
|
|
|
|
=== Games ===
|
|
Gluon
|
|
High-level game development library
|
|
KGGZ
|
|
Providing access to the GGZ Gaming Zone, a free online gaming centre.
|
|
|
|
=== Other ===
|
|
Kross
|
|
Scripting framework
|