KDE Frameworks

KDE Frameworks（ケーディーイー・フレームワークス）は、複数のオペレーティングシステム上のQtベースのソフトウェアスタックやアプリケーションですぐに利用できるライブラリとソフトウェアフレームワークのコレクションである。KDE Frameworksのコレクションははハードウェアの統合、ファイルフォーマットのサポート、追加のコントロール要素、プロット関数、スペルチェックなどの一般的に必要となる機能を特徴としており、GNU Lesser General Public License (LGPL) の下で配布されているKDE Plasma 5とKDE Applicationsの技術的な基盤となっている。 KDE Frameworks 5はQt 5に基づいており、JavaScriptをベースとした宣言型プログラミング言語のQMLをユーザインタフェースの設計に利用することができる。QMLで使用されるグラフィックスレンダリングエンジンは、様々なデバイス間でより柔軟なユーザインタフェースを実現することができる。 KDE Software Compilation（英語版）をKDE Frameworks 5、KDE Plasma 5、KDE Applicationsに分割して以降、各プロジェクトは独自の開発ペースを選択することができるようになった。KDE Frameworksは毎月新たなバージョンがリリースされ、バージョン管理システムにはGitを利用している。 KDE Platform 4ランタイムとKDE Frameworks 5ランタイムの両方をインストールすることで、アプリケーションはどちらかを利用できるようになる。 プラットフォームリリースとはシリーズ（バージョン番号X.0）を開始するリリースのことである。このメジャーリリースだけが前のバージョンとのバイナリ互換性（英語版）を損なうことが許容されているが、マイナーシリーズ (X.1, X.2, ....) のリリースではバイナリ移植性 (APIとABI) は保証されている。これは例えばK Desktop Environment 3 (KDE 3) 向けに開発されたソフトウェアは全てのバージョンのKDE 3で動作するが、K Desktop Environment 2 (KDE 2) 向けに開発されたアプリケーションはKDE 3のライブラリを利用できないことを意味する。KDEのメジャーリリースのバージョン番号は主にQtのリリースサイクルに従う。これはKDE Software Compilation 4 (KDE SC 4) がQt 4に、KDE 3がQt 3に基づくことを示す。 各フレームワークのリポジトリにはmetainfo.yamlという名前のファイルが含まれなければならない。このファイルには、フレームワークのメンテナ、種類、サポートされているオペレーティングシステムなどの情報が記載されている。現在サポートされているプラットフォームはLinux、Microsoft Windows、macOS、Androidである。 KDE Frameworksは明確な依存構造を持っている。この構造は「カテゴリ」と「階層」からなり、「カテゴリ」は実行時の依存関係を示すものである。 各機能は実行時の依存関係が存在しない。 指定されたコードを統合する場合、オペレーティングシステムやプラットフォームによって実行時の依存関係が必要になる可能性がある。 ソリューションには必須の実行時の依存関係が存在する。 「階層」はコンパイル時の他のフレームワークへの依存関係を示す。 第1階層フレームワークは、フレームワーク内には依存関係が存在せず、Qtやその他の関連するライブラリのみが必要となる。 第2階層フレームワークは、第1階層フレームワークにのみ依存することができる。 第3階層フレームワークは、第1階層フレームワークや第2階層フレームワークと同様に、他の第3階層フレームワークに依存することができる。 KDE Frameworksは70以上のパッケージから構成されている。KDE SC 4では、これらのパッケージはKDELibsとして単一の大きなパッケージから構成されていた。KDELibsはいくつかのフレームワークに分割されたが、一部はKDEではなくQt 5.2に統合された。 KDEFrameworksは他のライブラリへの依存度に応じて、異なる4つの階層にグループ化されている。第1階層フレームワークはQtや他のシステムライブラリにのみ依存する。第2階層フレームワークは第1階層ライブラリ、Qtや他のシステムライブラリなどに依存できる。 Linuxディストリビューションは配布するソフトウェアをパッケージ化するために、何らかのパッケージ管理システムを使用している。例えばDebianはKGlobalAccelをlibkf5globalaccelというパッケージ名で配布しているが、Fedoraはkf5-kglobalaccelという名前で配布している。 バージョン5.0の前に、技術プレビューと2つのアルファリリースと3つのベータリリースが存在した。 KDE FrameworksのソースコードはKDElibs 1の頃から存在する。最初にKDE Frameworksとしてリリースされたのはバージョン5で、コードベースがKDE Platformのバージョン 4（KDE Platform（英語版）の唯一のメジャーバージョン）であったことを考慮された。 KDE Platformから KDE Frameworksへの移行は2013年8月に開始された。 KDE Frameworks 5.0の初期リリース後、開発者はMozilla FirefoxとKDEの統合性の向上などのように、KDE Frameworks 5に新たな機能を追加することに焦点を当てている。 KDE Frameworks 5の主な改良点は、モジュール化の強化である。KDE Frameworks 5以前はライブラリは単一の大きなパッケージから構成されていたが、KDE Frameworks 5ではライブラリは小さなパッケージに分割された。このことにより依存関係を最小限に抑えることができ、他のQtベースのアプリケーションでの利用が容易になった。 KDE 4はQtウィジェットツールキットのバージョン4に基づいていたが、Frameworks 5からバージョン5に基づくようになった。 KDE FrameworksはKDE Software Compilation以外にも、デスクトップ環境のLXQtやMoonLightDE、Hawaiiなどに採用されている。 Calligra SuiteのラスターグラフィックスエディタであるKritaは、2016年5月31日にリリースされたバージョン3.0以降はKDE Frameworks 5とQt 5に依存している。バージョン2.8以前はKDE Platform 4とQt 4に依存していた。 Kirigamiにより、AmarokやAvogadro、Trojitá（英語版）、Subsurface（英語版）などのアプリケーションでの利用も増えている。 ^ https://www.kde.org/announcements/kde-frameworks-5.24.0.php ^ https://community.kde.org/Android ^ https://api.kde.org/ ^ “First release of KDE Frameworks 5” (2014年7月7日). 2020年11月6日閲覧。 ^ “The KDE Frameworks”. API Documentation. 2020年11月6日閲覧。 ^ “KDE Frameworks”. Tech Base. 2020年11月6日閲覧。 ^ a b c Howard Chan (2013年9月4日). “KDE Release Structure Evolves”. KDE. 2014年2月27日閲覧。 ^ “Release schedule for KDE Frameworks 5”. 2020年11月6日閲覧。 ^ “Git workflow for Frameworks”. 2020年11月6日閲覧。 ^ “KDE Frameworks5 API documentation”. 2014年8月22日時点のオリジナルよりアーカイブ。2020年11月6日閲覧。 ^ “Coinstallability with KDE Platform 4”. 2020年11月6日閲覧。 ^ “metainfo.yaml of KConfig”. 2020年11月6日閲覧。 ^ “Frameworks 5”. KDE (2013年9月25日). 2018年7月26日閲覧。 ^ “Qt 5.2 - Foundation for KDE Frameworks 5”. KDE (2013年12月17日). 2018年7月26日閲覧。 ^ Howard Chan (2013年9月25日). “Frameworks 5”. Dot.kde.org. 2014年3月10日閲覧。 ^ a b http://blog.martin-graesslin.com/blog/2014/02/kwindowsystem-in-frameworks-5/ ^ “KGlobalAccel in Debian”. 2020年11月6日閲覧。 ^ “KGlobalAccel in Fedora”. 2020年11月6日閲覧。 ^ “Frameworks 5 Technology Preview”. KDE (2014年1月7日). 2020年11月6日閲覧。 ^ “KDE Ships First Alpha of Frameworks 5”. KDE (2014年2月14日). 2020年11月6日閲覧。 ^ “KDE Ships Second Alpha of Frameworks 5”. KDE (2014年3月3日). 2020年11月6日閲覧。 ^ “First release of KDE Frameworks 5”. KDE (2014年7月7日). 2017年12月31日閲覧。 ^ “Second release of KDE Frameworks 5”. KDE (2014年8月7日). 2017年12月31日閲覧。 ^ “Release of KDE Frameworks 5.2.0”. KDE (12 September 2014). 5 March 2015閲覧。 ^ “Release of KDE Frameworks 5.3.0” (7 October 2014). 5 March 2014閲覧。 ^ “Release of KDE Frameworks 5.4.0”. KDE (6 November 2014). 5 March 2015閲覧。 ^ “Release of KDE Frameworks 5.5.0”. KDE (11 December 2014). 5 March 2015閲覧。 ^ “Release of KDE Frameworks 5.6.0”. KDE (8 January 2015). 5 March 2015閲覧。 ^ “Release of KDE Frameworks 5.7.0”. KDE (14 February 2015). 5 March 2015閲覧。 ^ “Release of KDE Frameworks 5.8.0”. KDE (13 March 2015). 13 March 2015閲覧。 ^ “Release of KDE Frameworks 5.9.0”. KDE (10 April 2015). 30 April 2015閲覧。 ^ “Release of KDE Frameworks 5.10.0”. KDE (8 May 2015). 9 May 2015閲覧。 ^ “Release of KDE Frameworks 5.11.0”. KDE. 29 June 2015閲覧。 ^ “Release of KDE Frameworks 5.12.0”. KDE. 10 July 2015閲覧。 ^ “Release of KDE Frameworks 5.13.0”. KDE (2015年8月12日). 2015年8月12日閲覧。 ^ “Release of KDE Frameworks 5.14.0”. KDE (2015年9月12日). 2015年9月12日閲覧。 ^ “Release of KDE Frameworks 5.15.0”. KDE (2015年10月10日). 2018年7月26日閲覧。 ^ “Release of KDE Frameworks 5.16.0”. KDE (2015年11月13日). 2018年7月26日閲覧。 ^ “Release of KDE Frameworks 5.17.0”. KDE (2015年12月12日). 2018年7月26日閲覧。 ^ “Release of KDE Frameworks 5.18.0”. KDE (2016年1月9日). 2018年7月26日閲覧。 ^ “Release of KDE Frameworks 5.19.0”. KDE (2016年2月13日). 2018年7月26日閲覧。 ^ “Release of KDE Frameworks 5.20.0”. KDE (2016年3月13日). 2017年12月31日閲覧。 ^ “Release of KDE Frameworks 5.21.0”. KDE (2016年4月9日). 2016年4月9日閲覧。 ^ “Release of KDE Frameworks 5.22.0”. KDE (2016年5月15日). 2016年5月15日閲覧。 ^ “Release of KDE Frameworks 5.23.0”. KDE (2016年6月13日). 2016年6月14日閲覧。 ^ “Release of KDE Frameworks 5.24.0”. KDE (2016年7月9日). 2016年7月10日閲覧。 ^ “Release of KDE Frameworks 5.25.0”. KDE (2016年8月13日). 2016年8月21日閲覧。 ^ “Release of KDE Frameworks 5.26.0”. KDE (2016年9月10日). 2016年10月8日閲覧。 ^ “Release of KDE Frameworks 5.27.0”. KDE (2016年10月8日). 2016年10月8日閲覧。 ^ “Release of KDE Frameworks 5.28.0”. KDE (2016年11月15日). 2016年11月15日閲覧。 ^ “KSyntaxHighlighing: A new Syntax Highlighting Framework”. KDE (2016年11月15日). 2016年11月21日閲覧。 ^ “Release of KDE Frameworks 5.29.0”. KDE (2016年12月12日). 2016年12月13日閲覧。 ^ “Release of KDE Frameworks 5.30.0”. KDE (2017年1月14日). 2017年1月27日閲覧。 ^ “Release of KDE Frameworks 5.31.0”. KDE (2017年2月11日). 2017年2月19日閲覧。 ^ “Release of KDE Frameworks 5.32.0”. KDE (2017年3月11日). 2017年3月11日閲覧。 ^ “Release of KDE Frameworks 5.33.0”. KDE (2017年4月8日). 2017年4月8日閲覧。 ^ “Release of KDE Frameworks 5.34.0”. KDE (2017年5月13日). 2017年5月13日閲覧。 ^ “Release of KDE Frameworks 5.35.0”. KDE (2017年6月10日). 2017年6月10日閲覧。 ^ “Release of KDE Frameworks 5.36.0”. KDE (2017年7月8日). 2017年7月8日閲覧。 ^ “Release of KDE Frameworks 5.37.0”. KDE (2017年8月13日). 2017年9月9日閲覧。 ^ “Release of KDE Frameworks 5.38.0”. KDE (2017年9月9日). 2017年9月9日閲覧。 ^ “Release of KDE Frameworks 5.39.0”. KDE (2017年10月14日). 2017年12月31日閲覧。 ^ “Release of KDE Frameworks 5.40.0”. KDE (2017年11月11日). 2017年12月31日閲覧。 ^ “Release of KDE Frameworks 5.41.0”. KDE (2017年12月10日). 2017年12月31日閲覧。 ^ “Release of KDE Frameworks 5.42.0”. KDE (2018年1月13日). 2018年1月15日閲覧。 ^ “Release of KDE Frameworks 5.43.0”. KDE (2018年2月12日). 2018年2月12日閲覧。 ^ “Release of KDE Frameworks 5.44.0”. KDE (2018年3月10日). 2018年4月14日閲覧。 ^ “Release of KDE Frameworks 5.45.0”. KDE (2018年4月14日). 2018年4月14日閲覧。 ^ “Release of KDE Frameworks 5.46.0”. KDE (2018年5月12日). 2018年5月12日閲覧。 ^ “Release of KDE Frameworks 5.47.0”. KDE (2018年6月9日). 2018年6月9日閲覧。 ^ “Release of KDE Frameworks 5.48.0”. KDE (2018年7月14日). 2019年4月1日閲覧。 ^ “Release of KDE Frameworks 5.49.0”. KDE (2018年8月11日). 2019年4月1日閲覧。 ^ “Release of KDE Frameworks 5.50.0”. KDE (2018年9月8日). 2019年4月1日閲覧。 ^ “Release of KDE Frameworks 5.51.0”. KDE (2018年10月15日). 2019年4月1日閲覧。 ^ “Release of KDE Frameworks 5.52.0”. KDE (2018年11月10日). 2019年4月1日閲覧。 ^ “Release of KDE Frameworks 5.53.0”. KDE (2018年12月9日). 2019年4月1日閲覧。 ^ “Release of KDE Frameworks 5.54.0”. KDE (2019年1月12日). 2019年4月1日閲覧。 ^ “Release of KDE Frameworks 5.55.0”. KDE (2019年2月9日). 2019年4月1日閲覧。 ^ “Release of KDE Frameworks 5.56.0”. KDE (2019年3月9日). 2019年4月1日閲覧。 ^ “Release of KDE Frameworks 5.57.0”. KDE (2019年4月13日). 2019年4月23日閲覧。 ^ “Release of KDE Frameworks 5.58.0”. KDE (2019年5月13日). 2019年6月27日閲覧。 ^ “Release of KDE Frameworks 5.59.0”. KDE (2019年6月8日). 2019年6月27日閲覧。 ^ “Release of KDE Frameworks 5.60.0”. KDE (2019年7月13日). 2019年7月17日閲覧。 ^ “Release of KDE Frameworks 5.61.0”. KDE (2019年8月10日). 2019年8月12日閲覧。 ^ “Release of KDE Frameworks 5.62.0”. KDE (2019年9月14日). 2019年9月14日閲覧。 ^ “Release of KDE Frameworks 5.63.0”. KDE (2019年10月12日). 2019年10月14日閲覧。 ^ “Release of KDE Frameworks 5.64.0”. KDE (2019年11月10日). 2019年11月10日閲覧。 ^ “Release of KDE Frameworks 5.65.0”. KDE (2019年12月14日). 2020年1月12日閲覧。 ^ “Release of KDE Frameworks 5.66.0”. KDE (2020年1月11日). 2020年1月12日閲覧。 ^ “Release of KDE Frameworks 5.67.0”. KDE (2020年2月9日). 2020年2月10日閲覧。 ^ “Release of KDE Frameworks 5.68.0”. KDE (2020年3月15日). 2020年3月16日閲覧。 ^ “Release of KDE Frameworks 5.69.0”. KDE (2020年4月11日). 2020年4月13日閲覧。 ^ “Release of KDE Frameworks 5.70.0”. KDE (2020年5月9日). 2020年5月9日閲覧。 ^ “Release of KDE Frameworks 5.71.0”. KDE (2020年6月13日). 2020年6月13日閲覧。 ^ “Release of KDE Frameworks 5.72.0”. KDE (2020年7月11日). 2020年7月14日閲覧。 ^ “Release of KDE Frameworks 5.73.0”. KDE (2020年8月8日). 2020年8月10日閲覧。 ^ “Release of KDE Frameworks 5.74.0”. KDE (2020年9月12日). 2020年9月12日閲覧。 ^ “Release of KDE Frameworks 5.75.0”. KDE (2020年10月10日). 2020年10月12日閲覧。 ^ “Release of KDE Frameworks 5.76.0”. KDE (2020年11月7日). 2020年11月15日閲覧。 ^ “KDE Ships Frameworks 5.77.0”. KDE (2020年12月12日). 2020年12月13日閲覧。 ^ “KDE Ships Frameworks 5.78.0”. KDE (2021年1月9日). 2021年1月10日閲覧。 ^ “KDE Ships Frameworks 5.79.0”. KDE (2021年2月13日). 2021年2月15日閲覧。 ^ “KDE Ships Frameworks 5.80.0”. KDE (2021年3月13日). 2021年3月21日閲覧。 ^ “KDE Ships Frameworks 5.81.0”. KDE (2021年4月10日). 2021年4月10日閲覧。 ^ “Schedules/Frameworks”. KDE. 2021年4月10日閲覧。 ^ “Firefox + KDE integration: Getting FF to use Dolphin reliably” (2014年7月3日). 2020年11月6日閲覧。 ^ “KF5 Update Meeting Minutes 2014-w28” (2014年7月8日). 2020年11月6日閲覧。 ^ “Krita 3.0リリース”. Krita Foundation (2016年5月31日). 2018年7月26日閲覧。 ポータル FLOSS KDE Plasma 5 KDE Applications 公式ウェブサイト KDE Frameworks in Phabricator List of repositories of KDE Frameworks in Phabricator