| 原作者 | 翻訳 |
|---|---|
| 開発者 | 翻訳 |
| 初回リリース | 2014年7月1日 |
| 安定版リリース | 6.8.0 [1]
/ 2024年11月8日 |
| リポジトリ |
|
| 書かれた | C++ ( Qt )について |
| オペレーティング·システム | クロスプラットフォーム( Android、[2] [3] Windows、[4] macOS、Haikuの「部分的な」サポートを含む) |
| タイプ | |
| ライセンス | GNU劣等一般公衆利用許諾書(LGPL)[5] |
| Webサイト | api.kde.org/frameworks/index.html |
KDE Frameworksは、複数のオペレーティングシステム上のQtベースのソフトウェアスタックやアプリケーションですぐに使用できるライブラリとソフトウェアフレームワークのコレクションです。[6]ハードウェア統合、ファイル形式のサポート、追加のグラフィカルコントロール要素、プロット機能、スペルチェックなどの頻繁に必要とされる機能ソリューションを備えたこのコレクションは、 KDE PlasmaとKDE Gearの技術基盤として機能します。これは、GNU Lesser General Public License (LGPL)に基づいて配布されています。[7]
概要
KDEフレームワークはQtをベースにしており、よりシンプルなJavaScriptベースの宣言型プログラミング言語であるQMLをユーザーインターフェースの設計に広く利用することができる。QMLが使用するグラフィックレンダリングエンジンにより、異なるデバイス間でより滑らかなユーザーインターフェースを実現できる。[8]

KDEソフトウェアコンパイルがKDEフレームワーク5、KDEプラズマ5、KDEアプリケーションに分割されて以来、各サブプロジェクトは独自の開発ペースを選択できるようになりました。KDEフレームワークは毎月リリースされ[9]、Gitを使用しています。[10] [11]
KDE FrameworksをKDE Platform 4と並行してインストールして、アプリがどちらかを使用できるようにすることも可能である。[12]
APIとABIの安定性
プラットフォーム リリースは、シリーズ (バージョン番号 X.0) の始まりとなるリリースです。これらのメジャー リリースのみが、前バージョンとのバイナリ互換性を壊すことが許されています。マイナー シリーズ (X.1、X.2、...) のリリースでは、バイナリ ポータビリティ ( APIとABI ) が保証されます。つまり、たとえば、KDE 3.0 用に開発されたソフトウェアは、すべての (将来の) KDE 3 リリースで動作しますが、KDE 2 用に開発されたアプリケーションでは、KDE 3 ライブラリを使用できるとは保証されません。KDE メジャー バージョン番号は、主に Qt リリース サイクルに従います。つまり、KDE SC 4 は Qt 4 に基づいており、KDE 3 は Qt 3 に基づいています。
サポートされているオペレーティングシステム
各フレームワークのリポジトリには、 metainfo.yamlというファイルが含まれている必要があります。[13]このファイルには、フレームワークのメンテナー、タイプ、サポートされているオペレーティングシステムなどの情報が記載されています。現在サポートされているプラットフォームは、Linux、Microsoft Windows、macOS、Androidです。
ソフトウェアアーキテクチャ
構造
フレームワークには明確な依存関係構造があり、「カテゴリ」と「層」に分かれています。「カテゴリ」はランタイム依存関係を指します。
- 機能要素には実行時の依存関係はありません。
- 統合は、OS またはプラットフォームが提供するものに応じて、統合にランタイム依存関係を必要とする可能性があるコードを指定します。
- ソリューションには必須のランタイム依存関係があります。
コンポーネント
KDE Frameworksバンドルは70以上のパッケージで構成されています。これらはKDE SC 4ではkdelibsと呼ばれる単一の大きなパッケージとして存在していました。kdelibsはいくつかの個別のフレームワークに分割され、そのうちのいくつかはKDEの一部ではなくなりましたが、Qt 5.2に統合されました。[14]
KDEフレームワークは、他のライブラリへの依存性に応じて4つの異なる層にグループ化されています。[15] [16]
- フレームワークの階層
- ティア1 – 主にQtのみに依存し、移植性が高い
- ティア 2 – ティア 1 に依存しますが、依存関係は依然として管理可能です。
- ティア 3 – ティア 1~2 などを含む複雑な依存関係。
- ティア 4 – プラットフォーム サポートなどの追加機能を提供するプラグインのほとんどは無視できます。
切り紙
Kirigamiは、Marco Martin [19]によって開発されたQMLアプリケーションフレームワーク[18]であり、開発者がコードの調整なしでAndroid、iOS、Windows、Plasma Mobile、および従来のLinuxデスクトップ環境でネイティブに実行されるアプリケーションを作成できるようにします。
これは、Linus TorvaldsとDirk HohndelsのスキューバダイビングアプリケーションSubsurface、メッセンジャークライアントBanji、[20] Kaidanメッセンジャー、[21] Vvaveミュージックプレーヤー、KDEソフトウェアセンターDiscoverなど、さまざまなアプリケーションで使用されています。
ソフトウェアパッケージ
Linuxディストリビューションは、配布するソフトウェアをパッケージ化するために何らかのパッケージ管理システムを使用しています。たとえば、DebianはKGlobalAccelをlibkf5globalaccelというパッケージ名で配布しています。 [22]一方、Fedora Linuxはkf5-kglobalaccelという名前で配布しています。[23]
バインディング
主にC++で書かれていますが、他のプログラミング言語用のバインディングも多数あります。[24] [25]
- パイソン
- Ruby ( Korundum 、 QtRuby上に構築)
- パール
- C#(ただし、C#や他の.NET言語にバインドするための現在のフレームワークは非推奨になっており、代替品はWindowsでのみコンパイルされます)。[26]
これらおよびその他のバインディングでは、次のテクノロジが使用されます。
- Smoke: Ruby、C#、PHPのバインディングを作成するためのもの
- SIP: Pythonのバインディングを作成する
- Kross: Ruby、 Python、JavaScript、QtScript、Falcon、JavaをサポートするC++アプリケーション用の組み込みスクリプト
多くのバインディングは Qt5 および KF5 に更新されなかったか、リリース サイクルの後半でのみ更新されました。
歴史
5.0リリースの前には、テクノロジープレビュー、2つのアルファリリース、3つのベータリリースがありました。[27] [28] [29]
KDE Frameworks のソース コードは、KDElibs 1 以来存在しています。KDE Frameworksとしての最初のリリースはバージョン 5 でした。これは、コード ベースが KDE Platform バージョン 4 ( KDE Platformの唯一のメジャー バージョン) のものであったためです。
KDEプラットフォームからKDEフレームワークへの移行は、KDEのトップ技術貢献者の指導の下、2013年8月に始まりました。[8]
KDE Frameworks 5.0の最初のリリース後、開発者はKDE Frameworks 5のコンポーネントに新しい機能を追加することに注力しました。[30]一例として、FirefoxとKDEのより良い統合が挙げられます。[31]
Frameworks 5 の主な改善点はモジュール化です。以前の KDE バージョンでは、ライブラリは 1 つの大きなパッケージとしてバンドルされていました。Frameworks では、ライブラリは個別の小さなパッケージに分割されています。これにより、依存関係を最小限に抑えることができるため、他の Qt ベースのソフトウェアによるライブラリの利用が容易になります。[8]
KDE 4 はQtウィジェット ツールキットのバージョン 4 をベースにしていましたが、Frameworks 5 はバージョン 5 をベースにしています。
KDEプロジェクトの「MegaRelease 6」の一環として、2024年2月28日にKDE Frameworks 6がリリースされ、Qt 6ベースにアップグレードされました。[32]
KDE4 変換
KDE SC 4 の時代、 KDE プラットフォームと呼ばれていたものは、KDE Plasma とアプリケーションに必要なすべてのライブラリとサービスで構成されていました。Qt 5 以降、このプラットフォームはモジュール セットに変換され、現在は KDE フレームワークと呼ばれています。これらのモジュールには、Solid、Nepomuk、Phononなどが含まれ、LGPL、BSD ライセンス、MIT ライセンス、または X11 ライセンスのいずれかでライセンスされています。[33]
採択
KDE Software Compilation の他に、デスクトップ環境 LXQt 、MoonLightDE 、Hawaiiなどの採用例もあります。
2016 年 5 月 31 日にリリースされた Calligra Suiteのラスター グラフィック エディターであるKritaバージョン 3.0 は、KDE Frameworks 5 と Qt 5.2 に依存しています。
Kirigami では、 Amarok、Avogadro、Trojitá、Subsurfaceなどのアプリケーションによる使用も増加しています。
参考文献
- ^ 「KDE Ships Frameworks 6.8.0」。2024年11月8日。 2024年11月26日閲覧。
- ^ 「KDE Frameworks 5.24.0 のリリース」。2016年7月9日。2016年7月11日時点のオリジナルよりアーカイブ。2016年7月10日閲覧。
- ^ 「Android - KDE Community Wiki」。2016年8月26日時点のオリジナルよりアーカイブ。2016年7月11日閲覧。
- ^ 「KDE API ホームページ」。2016 年 8 月 26 日時点のオリジナルよりアーカイブ。2016 年 7 月 11 日閲覧。
- ^ 「KDE Frameworks 5 の最初のリリース」 2014 年 7 月 7 日。2015 年 9 月 5 日時点のオリジナルよりアーカイブ。2014 年 7 月 8 日閲覧。
- ^ 「KDE フレームワーク」。APIドキュメント。2019 年 12 月 7 日時点のオリジナルよりアーカイブ。2020 年 3 月 17 日閲覧。
- ^ 「KDE Frameworks」。Tech Base。2020年8月13日時点のオリジナルよりアーカイブ。2020年3月17日閲覧。
- ^ abc Howard Chan (2013-09-04). 「KDE Release Structure Evolves」KDE。2020年11月12日時点のオリジナルよりアーカイブ。2014年2月27日閲覧。
- ^ 「KDE Frameworks 5 のリリーススケジュール」。2016 年 6 月 24 日時点のオリジナルよりアーカイブ。2016 年 5 月 18 日閲覧。
- ^ 「フレームワークの Git ワークフロー」。2020 年 10 月 20 日時点のオリジナルよりアーカイブ。2014 年 8 月 19 日閲覧。
- ^ 「KDE Frameworks5 API ドキュメント」。2014 年 8 月 22 日時点のオリジナルよりアーカイブ。
- ^ 「KDE Platform 4 との共インストール可能性」。2020 年 12 月 1 日時点のオリジナルよりアーカイブ。2014 年 8 月 19 日閲覧。
- ^ 「KConfig の metainfo.yaml」。[永久リンク切れ ]
- ^ Jos Poortvliet (2013-12-17). 「Qt 5.2 - Foundation for KDE Frameworks 5」. Dot.kde.org. 2020-11-11 時点のオリジナルよりアーカイブ。2014-03-10閲覧。
- ^ Howard Chan (2013-09-25). 「Frameworks 5」. Dot.kde.org. 2020-11-26 時点のオリジナルよりアーカイブ。2014-03-10閲覧。
- ^ 「API ドキュメント」。api.kde.org。2021年 10 月 2 日時点のオリジナルよりアーカイブ。2021 年 10 月 2 日閲覧。
- ^ 「KWindowSystem in Frameworks 5」。2014年2月6日。2014年7月28日時点のオリジナルよりアーカイブ。2014年7月25日閲覧。
- ^ “KDE 切り紙”. KDE。 2019年7月29日のオリジナルからアーカイブ。2018 年11 月 25 日に取得。
- ^ “KDE/Kirigami への貢献者”. GitHub . 2019-04-30 時点のオリジナルよりアーカイブ。2021-08-08閲覧。
- ^ Ghostarchive と Wayback Machine にアーカイブされています: 「Banji (Ring-KDE) デスクトップ Linux および Android の新スキン」。YouTube。2019年3 月。
- ^ 「Kaidan - あらゆるデバイスに対応するユーザーフレンドリーなXMPPクライアント!」。GitHub。2021年7月4日。2019年4月26日時点のオリジナルよりアーカイブ。2021年8月8日閲覧。
- ^ 「Debian の KGlobalAccel」。2016 年 9 月 20 日時点のオリジナルよりアーカイブ。2016 年 9 月 11 日閲覧。
- ^ 「Fedora の KGlobalAccel」。[永久リンク切れ ]
- ^ 「KDE 開発プラットフォーム」。2018 年 10 月 3 日時点のオリジナルよりアーカイブ。2010 年 11 月 26 日閲覧。
- ^ 開発/言語 - KDE TechBase Archived 2021-02-03 at the Wayback Machine . Techbase.kde.org (2012-07-12). 2013-07-17 に取得。
- ^ “Qyoto”. 2020年11月27日時点のオリジナルよりアーカイブ。2015年1月18日閲覧。
- ^ 「Frameworks 5 テクノロジープレビュー」。KDE。2014 年 1 月 7 日。2014 年 2 月 26 日時点のオリジナルよりアーカイブ。2014年 2 月 27 日閲覧。
- ^ 「KDE、Frameworks 5の最初のアルファ版を出荷」KDE。2014年2月14日。2014年3月1日時点のオリジナルよりアーカイブ。2014年2月27日閲覧。
- ^ 「KDE、Frameworks 5の2番目のアルファ版を出荷」KDE。2014年3月3日。2014年3月9日時点のオリジナルよりアーカイブ。2014年3月4日閲覧。
- ^ 「KF5 Update Meeting Minutes 2014-w28」。2014年7月8日。2016年3月7日時点のオリジナルよりアーカイブ。2014年7月10日閲覧。
- ^ 「Firefox + KDE 統合: FF で Dolphin を確実に使用できるようにする」 2014-07-03。2018-05-15 にオリジナルからアーカイブ。2014-07-10に取得。
- ^ “KDE MegaRelease 6 の発表”. 2024-02-28 。2024 年 3 月 20 日に取得。
- ^ 「KDE ライセンス ポリシー」。2010 年 12 月 16 日時点のオリジナルよりアーカイブ。2010 年 11 月 6 日閲覧。
外部リンク
- KDE 独自の Gitlab インスタンスの KDE フレームワーク
- 古い Phabricator の KDE フレームワーク
