KDE 4では、コアとなる技術の構成がKDE 3系列とは大きく変化しました。KDE 4.1のアーキテクチャを整理すると以下の図のようになります。 図1 KDE 4.1のアーキテクチャ 変更点は、大きく分けて以下の5点になります。 KDE 2から導入され、使われ続けてきたコンポーネント技術「DCOP」が、Qt 4.2から導入された「QtDBusモジュール（D-BUSのラッパー）」に置き換えられました。 Plasmaの導入によってユーザーインターフェイスが大きく進化しました。 ハードウェアへのアクセスを抽象化するフレームワーク、「Solid」が導入されました。 マルチメディアフレームワークとして「Phonon」が導入されました。 PIM（Personal Information Manager）フレームワークの「Akonadi」が導入されました。 以降では、QtDBus、Solid、Phononについて簡単に紹介します。 ・QtDBus QtDBusは、Qt 4.2からQtに導入されたD-BUSのラッパーモジュールです。D-BUSは、デスクトップ用のメッセージバスとして、GNOMEとKDEのコンポーネント技術の共通化を目指して開発されています。 QtDBusでは、このD-BUSを経由して、KDE/Qtの型をメッセージ通信で扱えるようにしています。また、QtDBusでは、CORBAやCOMのようなコンポーネント技術で一般的に使われている、スタブ／スケルトン形式の通信モデルを実現しています。 QtDBusにおけるメッセージの送信元のスタブをInterfaceと呼び、メッセージの受け口のスケルトンをAdapterと呼んでいます。このInterfaceとAdapterは、XML形式で定義したIDL（Interface Definition Language）から自動生成することが可能です。KDE内部では、このQtDBusを活用することでさまざまな機能を提供しています。 ・Solid KDE 3系列までは、ハードウェアへアクセスするためのインターフェイス層は用意されておらず、各アプリケーション開発者がハードウェアにアクセスするためのコードを記述する必要がありました。Solidは、この問題を解決するために開発された、ハードウェアへアクセスするアプリケーション開発のための包括的なAPIを提供するフレームワークです。 Solidは、抽象度の高いハードウェアアクセスのAPIとなっており、各OSで提供されているハードウェアアクセスAPIを利用しています。そのため、Solidを使うことでプラットフォームに依存しないアプリケーションを開発することができます。この抽象化のため、Solidは、後述するPhononとともに、KDE 4をWindowsやMacOS Xでも動作させるための鍵になるフレームワークの1つとなっています。 ・Phonon KDEでは、長年「aRts」がサウンドサーバ兼メディアフレームワークとして使われてきました。しかし、aRtsはメンテナンスが行われていない状況が続いていました。また、GStreamer、Xine、Helixといった高機能のマルチメディアフレームワークが開発され、広く使われるようになりました。そこでKDE 4では、これらのマルチメディアフレームワークをバックエンドとして利用する、抽象度の高いマルチメディアフレームワークとしてPhononが開発されました。 Phononは、KDE4.0ではKDEの一部として提供されていました。しかし、Qt 4.4からPhononがQtに取り込まれています。 Phononは、当初からクロスプラットフォームなフレームワークとして設計されていましたが、Qtに取り込まれたことで正式にWindowsやMac OS Xに対応することになりました。KDE 4.1では、このQtに取り込まれたPhononを利用して、クロスプラットフォームなマルチメディア機能を提供しています。