KDEに関する世界観です。
Linux(X11周辺)やGNOMEも参照のこと。
Linuxのデスクトップ環境のもう一つの選択肢。綺麗で豪華な代わり、メモリを食う。Qtと言うC++の美しいウィジェット・ツールキットを利用している。コードはほとんどがC++で書かれている。GNOMEに次いでファンが多い。GNOMEの「G陣営」とは別に「K陣営」と呼ばれている。
KDE 4からガラッと美しくなったが、Trinityと言う昔のKDE 3をforkした集団も存在する。昔から、KDEは使うのにクセがあるが、Windowsに近い。
僕の個人的使用感としては、起動が遅いのと、Fedoraで日本語入力のツールボタンがきちんと動かないのが難点だし、僕はFirefox派なので、あまりKDEを使うことは無い。重くはない(使っていると機敏に反応する)のだが、メモリを食うし、起動が遅い。時々良くアプリケーションが不正終了するなど、不安定な印象も受ける。
KDEは当初からCDEというUNIXの統合デスクトップ環境を模倣して作られている。Konquerorがブラウザとファイルマネージャを兼ねるなどWindowsと良く似ているが、Linuxのそもそもの統合デスクトップ環境としての元祖であり、Linuxを本当に使いたい人間たちが好き勝手に開発している印象を受ける。Sunなどの支持もあって会社のために開発されているところも強いGNOMEとは対照的に、マニアックなアマチュア・プログラマが開発している印象を受ける。
GNOMEはアーキテクチャ指向であると言われるが、KDEはC++とQtとKDEライブラリ・フレームワークを使用したシンプルで強力で、何よりも美しいデスクトップ・GUI環境プラットフォームを開発している。何より、GNOMEよりも使っていて気持ちが良い。GNUとの仲は悪いというが、最近はきちんとQtもオープンソースになっている。
KDEの原産地はドイツである。
Wikipedia
公式
ソースコード
KDEには、何の問題もありません。
QtがGPL互換のフリーソフトウェアのライセンスでなかったのは過去の話であり、現在ではQtもGPL/LGPLのフリーソフトウェアのライセンスで配布・提供されています。
また、KDEがC++だけでしか開発することができないプラットフォームであるというのは誤解であり、今ではPythonなどを用いて開発することもできます。
また、GNOMEがCORBAによる再利用性の高いコンポーネント機構を備えているというのも間違った長所の理解であり、KDEではKPartという優れた再利用の機構を備えています。KDEアプリケーションの中で、別のKDEアプリケーションの一部分だけを再利用することができます。
KDEは素晴らしい環境です。標準的にCMakeを使うことができますし、ほとんどのアプリケーションがGNOMEの同様のアプリケーションよりも多機能であり、プロフェッショナル向けの高品質なアプリケーションが多いです。重さはGNOMEと同じぐらいであり、何よりもデザインがはるかに美しく、そしてGNOMEの「明らかにおかしすぎる設計や実装」が存在せず、まったくすべてが調和しています。
もし、ディストリビューションが標準でGNOMEを採用しているとか、Firefoxなどの一部のアプリケーションがGTKにしか対応していないという問題を除けば、99%、KDEの方が優れています。
しかしながら、KDEを追加的に導入すると、GNOMEとKDEの混合したシステムになってしまいます。アプリケーションメニューに、GNOMEとKDEのアプリケーションが混在してしまい、わけが分からないことになります。KDE環境でもGNOMEやGTKのアプリケーションが使えること自体はいいのですが、まったく見た目の異なるアプリケーションを協調させて動かさなければなりません。
そのため、KDEを使うのであれば、GNOMEがすでにある環境にインストールするのではなく、GNOMEのない環境にKDEだけを導入することをおすすめします。おすすめのディストリビューションは、KubuntuあるいはKDE neon(最新バージョンのKDEを使うことができる専用のディストリビューション)です。
ですが、KDEは、環境によってはきちんと動かないことがあります。特に、日本人ユーザーが少ないため、日本語環境の問題で使い物にならないことがあります。そのため、GNOMEを我慢して使わなければならない状況は多いです。ですが、KDEがもしきちんと使えるのであれば、「気持ちよくLinuxデスクトップを使うことができる特権」を得られたのだと思うようにしましょう。
もちろん、GNOMEにおいてもKDEにおいても、Linuxカーネルが動いていることには変わりがありませんし、UNIXの古くからあるツールはGNOME端末でもKonsoleでも動きます。そのため、コマンドラインだけを主に使うのであれば、自分の興味関心だけで自分の好きなデスクトップ環境あるいはウィンドウマネージャを使えばよいでしょう。
また、LibreOfficeは最近、GNOME環境であってもKDE環境であっても、実行しているデスクトップ環境に適合した見た目でUIが表示されます。Firefoxも、見た目が調和しないことを除けばきちんと動きます。そもそもMozillaの技術はXULをベースにしているため、GNOME環境のFirefoxであっても調和しないで動いていることがよくあります。もちろん、KDEにはKonquerorという独自のWebブラウザがあります。本当のKDEユーザはFirefoxを使いません。Konquerorを使います。
Qtを参照のこと。
KPartはKDEのためのコンポーネントシステムで、GNOMEのBonoboやMSのOLEに相当する。
たとえば個人情報アプリケーションKontactは、メールソフトのKMailなど複数のPIMアプリケーションを組み合わせて作られている。
CMakeはKDEで使われているビルドシステム。
CMakeも参照のこと。
KDE Frameworks 5は、KDE Plasma 5とKDEアプリケーションの基盤となるライブラリとフレームワークのコレクション。
後日注記:公式では、「Qtでプログラミングを行う上での83のアドオンライブラリ」であると紹介されている。たとえば、圧縮・解凍ライブラリであるKArchiveや、ジョブ・キューベースのスレッド管理APIであるThreadWeaverなどが主な例として紹介されている。このようなルーチンをQtアプリケーションで作りたい時は、KDE Frameworksを使えば、車輪の最発明をする必要がない。KDE FrameworksはQtと同様にクロスプラットフォームであり、LinuxだけではなくMac, Windows, Androidにも対応している。
後日注記:KDE Frameworkに基づいたアプリケーションを作りたいのであれば、KDE TechBaseなどに情報がある。また、一覧はWikipediaに存在する。
KirigamiはKDEのUIフレームワークで、デスクトップやモバイル、その他のデバイスにそれぞれ適応した見た目でアプリケーション画面を表示させることができる。
KDEのライブラリは以前KDELibsと呼ばれていた。
Wikipedia
ソースコード
KDEデスクトップを参照のこと。
KDEアプリケーションを参照のこと。
KDEプロジェクトは、デスクトップ、アプリケーション、ライブラリまで、一貫して全てをKDEプロジェクトで開発しています。
GTK+には対応してもQtには対応しないことの多いLinuxアプリケーション界ですが、KDEでは全てをQtとKDELibで開発しています。
その目標は、「第一のLinuxデスクトップ」になることです。
GTK+/GNOMEアプリケーションが、個性的というか、独特というか、悪く言えば醜くてのっぺりしているツールキットを開発・提供しているのとは対照的に、美しく、かっこよく、センスの良いアプリケーションを作っています。
KDEアプリケーションは、見た目も多くが統一されており、高機能性が高く、とてもカッコいいのですが、いかんせん標準になれていません。いつまでも、準標準的なデスクトップです。ですが、その前に開けているビジョンと考え方は素晴らしいと思います。Linuxでは標準でないこともあって、そもそも起動すらしなかったり、起動しても日本語がまともに使えなかったり、あるいはまともに使える環境でもGNOMEよりもはるかに起動が遅いなど、たくさんの課題がありますが、「Linuxの未来をなんとか良いものとして見られるようにしてくれる」という意味で、KDEコミュニティはLinuxを陰から支えてくれています。
KDEアプリケーションを開発したいのなら、以下が参考になる。
チュートリアルの一覧が以下のページにある。
ただしちょっと一覧の内容が多すぎるため、最初は「Basics of how to develop with KDE Frameworks」の部分から読んでいこう。以下が参考になる。
英語だが、以下のページが参考になるかもしれない。
あるいは、自分で検索してください。
GitHubにコードのサンプル集がある。
KDEには、dot.kde.orgという専用のニュースサイトがある。
もう一つの巨大なデスクトップ環境。
KDEを使ったアプリケーションの開発。
KDE本体の開発。