Solid (KDE)
Encyclopedia
KDE Platform is a set of frameworks by KDE
KDE
KDE is an international free software community producing an integrated set of cross-platform applications designed to run on Linux, FreeBSD, Microsoft Windows, Solaris and Mac OS X systems...

 that serve as technological foundation for all KDE applications. Ever since KDE’s brand repositioning the Platform is released as separate product in sync with KDE’s Plasma Workspaces as part of the KDE Software Compilation 4. While the Platform is mainly written in C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

, it includes bindings for other programming languages.

Technologies

  • User Interface
    • Plasma – desktop and panel widget engine
    • KHTML
      KHTML
      KHTML is the HTML layout engine developed by the KDE project. It is the engine used by the Konqueror web browser. A forked version of KHTML called WebKit is used by several web browsers, among them Safari and Google Chrome...

       – HTML rendering engine
      Web browser engine
      A web browser engine, , is a software component that takes marked up content and formatting information and displays the formatted content on the screen. It "paints" on the content area of a window, which is displayed on a monitor or a printer...

    • KIO
      KIO
      KIO is part of the KDE architecture. It provides access to files, web sites and other resources through a single consistent API. Applications, such as Konqueror which are written using this framework can operate on files stored on remote servers in exactly the same way as they operate on those...

       – extensible network-transparent file access
    • KParts – lightweight in-process graphical component framework
    • Sonnet
      Sonnet (KDE)
      In KDE Software Compilation 4, Sonnet is a multilingual spell check program. Sonnet replaces kspell2 that was created for KDE3. The two main goals for Sonnet's development were a simpler API, wider language support and performance. Notable improvements in Sonnet over kspell2 are*Automatic language...

       – spell checker
    • XMLGUI
      XMLGUI
      XMLGUI is a KDE framework for designing the user interface of an application using XML, using the idea of actions.In this framework, the programmer designs various actions that his application can implement, with several actions defined for the programmer by the KDE framework, such as opening a...

       – allows defining UI elements such as menus and toolbars via XML
      XML
      Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....

       files
    • Goya

  • Hardware and Multimedia
    • Phonon
      Phonon (KDE)
      Phonon is the multimedia API provided by Qt and is the standard abstraction for handling multimedia streams within the KDE Software Compilation 4....

       – multimedia framework
    • Solid
      Solid (KDE)
      KDE Platform is a set of frameworks by KDE that serve as technological foundation for all KDE applications. Ever since KDE’s brand repositioning the Platform is released as separate product in sync with KDE’s Plasma Workspaces as part of the KDE Software Compilation 4...

       – device integration framework

  • Services
    • NEPOMUK
      NEPOMUK (framework)
      NEPOMUK is an open-source software specification that is concerned with the development of a social semantic desktop that enriches and interconnects data from different desktop applications using semantic metadata stored as RDF...

    • KNewStuff – KDE's "Hot New Stuff" classes
    • Policykit-KDE

  • Communication
    • Akonadi
      Akonadi
      Akonadi is a storage service for personal information management data and metadata named after the oracle goddess of justice in Ghana. It is one of the “pillars” behind the KDE SC 4 project, although it is designed to be used in any desktop environment...


  • Games
    • Gluon
    • KGGZ

  • Other
    • ThreadWeaver
      ThreadWeaver
      ThreadWeaver is a programming library developed for KDE 4 by Mirko Boehm that allows developers to easily take advantage of multi-core processors. In ThreadWeaver the workload is divided into individual jobs, then relationship between jobs ; from that ThreadWeaver will work out the most efficient...

       – library to use multiprocessor systems more effectively
    • Kiosk
      Kiosk (KDE)
      Kiosk is a framework that allows a user to restrict the capabilities of the KDE environment. It was originally designed for computer kiosks. Kiosks require a very stripped down and controlled environment to prevent users from doing anything harmful...

       – allows disabling features within KDE to create a more controlled environment
    • Kross
    • KConfig XT
    • ownCloud
      OwnCloud
      ownCloud is an open source implementation of cloud storage and cloud computing services. It can be installed on the personal web server of the user. It requires PHP and a database ....


Technologies superseded in KDE Platform 4

  • aRts
    ARts
    aRts, which stands for analog Real time synthesizer, is an audio framework that is no longer under development. It is best known for previously being used in KDE to simulate an analog synthesizer....

     – sound server
    Sound server
    A sound server is software that manages the use of and access to audio devices, most notably, the soundcard. It usually runs as a background process...

     (replaced with Phonon
    Phonon (KDE)
    Phonon is the multimedia API provided by Qt and is the standard abstraction for handling multimedia streams within the KDE Software Compilation 4....

    )
  • DCOP
    DCOP
    DCOP, which stands for Desktop COmmunication Protocol, is a light-weight interprocess and software componentry communication system. The main point of this system is to allow applications to interoperate, and to share complex tasks...

     – inter-process communication
    Inter-process communication
    In computing, Inter-process communication is a set of methods for the exchange of data among multiple threads in one or more processes. Processes may be running on one or more computers connected by a network. IPC methods are divided into methods for message passing, synchronization, shared...

     system (replaced with D-Bus
    D-Bus
    In computing, D-Bus is a simple inter-process communication open-source system for software applications to communicate with one another. Heavily influenced by KDE2–3's DCOP system, D-Bus has replaced DCOP in the KDE 4 release. An implementation of D-Bus supports most POSIX operating...

    )

KJS

KJS is KDE
KDE
KDE is an international free software community producing an integrated set of cross-platform applications designed to run on Linux, FreeBSD, Microsoft Windows, Solaris and Mac OS X systems...

's ECMAScript
ECMAScript
ECMAScript is the scripting language standardized by Ecma International in the ECMA-262 specification and ISO/IEC 16262. The language is widely used for client-side scripting on the web, in the form of several well-known dialects such as JavaScript, JScript, and ActionScript.- History :JavaScript...

/JavaScript engine
JavaScript engine
A JavaScript engine is specialized computer software which interprets and executes JavaScript . Although there are several uses for a JavaScript engine, it is most commonly used in web browsers.-History:...

 that was originally developed for the KDE
KDE
KDE is an international free software community producing an integrated set of cross-platform applications designed to run on Linux, FreeBSD, Microsoft Windows, Solaris and Mac OS X systems...

 project's Konqueror
Konqueror
Not to be confused with the Conqueror web browser.Konqueror is a web browser and file manager that provides file-viewer functionality for file systems such as local files, files on a remote ftp server and files in a disk image. It is a core part of the KDE desktop environment...

 web browser by Harri Porten
Harri Porten
Harri Porten is a software engineer. Porten, a KDE developer and former Trolltech employee, is the CEO of Froglogic, a consultancy company related to Qt development. He currently lives in Hamburg, Germany. Porten originally wrote the KJS JavaScript engine for Konqueror, the KDE project's file...

 in 2000.

On June 13, 2002, Maciej Stachowiak
Maciej Stachowiak
Maciej Stachowiak is a Polish American software developer currently employed by Apple Inc. where he is a leader of the development team responsible for the Safari web browser and WebKit Framework. A longtime proponent of Open Source, Stachowiak was involved with the SCWM, GNOME and Nautilus...

 announced on a mailing list that Apple was releasing JavaScriptCore, a framework for Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

 that was based on KJS. Through the WebKit project, JavaScriptCore has since evolved into SquirrelFish Extreme, a JavaScript engine that compiles JavaScript into native machine code.

External links


KParts

KParts is the component framework for the KDE
KDE
KDE is an international free software community producing an integrated set of cross-platform applications designed to run on Linux, FreeBSD, Microsoft Windows, Solaris and Mac OS X systems...

 desktop environment
Desktop environment
In graphical computing, a desktop environment commonly refers to a style of graphical user interface derived from the desktop metaphor that is seen on most modern personal computers. These GUIs help the user in easily accessing, configuring, and modifying many important and frequently accessed...

. An individual component is called a KPart. KParts are analogous to Bonobo
Bonobo (computing)
Bonobo is a component model for creating reusable software components and compound documents. It was created by the company Ximian for compound documents used in GNOME....

 components in GNOME
GNOME
GNOME is a desktop environment and graphical user interface that runs on top of a computer operating system. It is composed entirely of free and open source software...

  and ActiveX
ActiveX
ActiveX is a framework for defining reusable software components in a programming language-independent way. Software applications can then be composed from one or more of these components in order to provide their functionality....

 controls in Microsoft's Component Object Model
Component Object Model
Component Object Model is a binary-interface standard for software componentry introduced by Microsoft in 1993. It is used to enable interprocess communication and dynamic object creation in a large range of programming languages...

. Konsole
Konsole
Konsole is a free terminal emulator which is part of KDE Software Compilation. Konsole was originally written by Lars Doelle.The KDE applications Konqueror, Krusader, Kate, Konversation, Dolphin and KDevelop use Konsole to provide embedded terminal functionality.- Features :* Tabbed terminals...

 is available as a KPart and is used in applications like Konqueror
Konqueror
Not to be confused with the Conqueror web browser.Konqueror is a web browser and file manager that provides file-viewer functionality for file systems such as local files, files on a remote ftp server and files in a disk image. It is a core part of the KDE desktop environment...

 and Kate
Kate (text editor)
In computing, Kate is a text editor by KDE. The name Kate is an acronym for KDE Advanced Text Editor.-History:Kate has been part of KDE Software Compilation since release 2.2 in 2001. Because of the KParts technology, it is possible to embed Kate as an editing component in other KDE applications...

.

Example uses of KParts:
  • Konqueror
    Konqueror
    Not to be confused with the Conqueror web browser.Konqueror is a web browser and file manager that provides file-viewer functionality for file systems such as local files, files on a remote ftp server and files in a disk image. It is a core part of the KDE desktop environment...

     uses the Okular
    Okular
    Okular is the document viewer for KDE SC 4 . It is based on KPDF and it replaced KPDF, KGhostView, KFax, KFaxview and KDVI in KDE 4.Its functionality can be easily embedded in other applications....

     part to display documents
  • Konqueror
    Konqueror
    Not to be confused with the Conqueror web browser.Konqueror is a web browser and file manager that provides file-viewer functionality for file systems such as local files, files on a remote ftp server and files in a disk image. It is a core part of the KDE desktop environment...

     uses the Dragon Player part to play multimedia
  • Kontact
    Kontact
    KMail supports folders, filtering, viewing HTML mail, and international character sets. It can handle IMAP, IMAP IDLE, dIMAP, POP3, and local mailboxes for incoming mail. It can send mail via SMTP or sendmail...

     embeds kdepim applications
  • Kate
    Kate (text editor)
    In computing, Kate is a text editor by KDE. The name Kate is an acronym for KDE Advanced Text Editor.-History:Kate has been part of KDE Software Compilation since release 2.2 in 2001. Because of the KParts technology, it is possible to embed Kate as an editing component in other KDE applications...

     and other editors use the katepart editor component
  • Several applications use the Konsole
    Konsole
    Konsole is a free terminal emulator which is part of KDE Software Compilation. Konsole was originally written by Lars Doelle.The KDE applications Konqueror, Krusader, Kate, Konversation, Dolphin and KDevelop use Konsole to provide embedded terminal functionality.- Features :* Tabbed terminals...

     KPart to embed a terminal

External links


Solid

Solid is a device integration framework for KDE Platform 4, the current release of KDE
KDE
KDE is an international free software community producing an integrated set of cross-platform applications designed to run on Linux, FreeBSD, Microsoft Windows, Solaris and Mac OS X systems...

. It functions on similar principles to KDE's multimedia pillar Phonon
Phonon (KDE)
Phonon is the multimedia API provided by Qt and is the standard abstraction for handling multimedia streams within the KDE Software Compilation 4....

; rather than managing hardware on its own, it makes existing solutions accessible through a single API. The current solution uses udev
Udev
udev is the device manager for the Linux kernel. Primarily, it manages device nodes in /dev. It is the successor of devfs and hotplug, which means that it handles the /dev directory and all user space actions when adding/removing devices, including firmware load.-History:udev was new in Linux...

, NetworkManager
NetworkManager
Network Manager is a software utility aimed at simplifying the use of computer networks on Linux-based and other Unix-like operating systems.- Overview :...

 and BlueZ (the official Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

 Bluetooth stack). However, any and all parts can be replaced without breaking the application, making applications using Solid extremely flexible and portable. Work is underway to build a Solid backend for the Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

 port of KDE based on Windows Management Instrumentation
Windows Management Instrumentation
Windows Management Instrumentation is a set of extensions to the Windows Driver Model that provides an operating system interface through which instrumented components provide information and notification...

.

Solid is broken up into many hardware “domains” which operate independently. Domains may be added as needed. For instance, one domain may be Bluetooth, and another may be power management. Solid is used extensively within KDE 4 and its popular applications, making them more aware of hardware events and easier to develop.

External links


Sonnet

Sonnet is a multilingual spell check program to be included in KDE 4. Sonnet is going to replace kspell2 that was created for KDE 3. The two main goals for Sonnet's development were a simpler API, wider language support and performance. Notable improvements in Sonnet over kspell2 are
  • Automatic language detection, a language can be identified with as little as 20 characters of text. Even multiple languages in the same document can be detected and spell checked correctly
  • Better performance
  • Improvements in spell checking languages like Thai and Japanese
  • Simpler design, kspell2 consisted of 7 components and a complicated API. Sonnet is a single component and aims to provide a simpler API
  • The user can select a primary and backup dictionary, an example given was a doctor who frequently uses terms from a medical dictionary. Words that would not appear in a regular dictionary would be corrected by the backup dictionary that contains medical terms.

External links


ThreadWeaver

ThreadWeaver is a programming library developed for KDE 4 by Mirko Boehm that allows developers to easily take advantage of multicore processors. In Threadweaver the workload is divided into individual jobs, then relationship between jobs (what order they should be completed or which has a higher priority) from that Threadweaver will work out the most efficient way to execute them. Krita
Krita
Krita is the digital painting and illustration software included based on the KDE Platform and Calligra Suite libraries. Designed as a digital painting and illustration suite, Krita is free software and distributed under GNU General Public License...

has implemented visual filter previews using ThreadWeaver to prevent GUI lockups.

Hello world example

  1. include
  2. include
  3. include
  4. include
  5. include


int main (int argc, char *argv[])
{
KAboutData aboutData(
// The program name used internally.
"tutorial1",
// The message catalog name
// If null, program name is used instead.
0,
// A displayable program name string.
ki18n("Tutorial 1"),
// The program version string.
"1.0",
// Short description of what the app does.
ki18n("Displays a KMessageBox popup"),
// The license this code is released under
KAboutData::License_GPL,
// Copyright Statement
ki18n("Copyright (c) 2007"),
// Optional text shown in the About box.
// Can contain any information desired.
ki18n("Some text..."),
// The program homepage string.
"http://example.com/",
// The bug report email address
"submit@bugs.kde.org");

KCmdLineArgs::init( argc, argv, &aboutData );
KApplication app;
KGuiItem yesButton( i18n( "Hello" ), QString,
i18n( "This is a tooltip" ),
i18n( "This is a WhatsThis help text." ) );
KMessageBox::questionYesNo( 0, i18n( "Hello World" ),
i18n( "Hello" ), yesButton );
return 0;
}

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK