KDE Frameworks
作者 | KDE |
---|---|
開発元 | KDE |
初版 | 2014年7月1日 |
リポジトリ | |
プログラミング 言語 | C++ (Qt) |
対応OS | クロスプラットフォーム(Android[1][2]、Windows[3]、macOS、Haikuのサポートを「一部」含む) |
種別 | |
ライセンス | GNU Lesser General Public License (LGPL)[4] |
公式サイト |
api |
KDE Frameworks(ケーディーイー・フレームワークス)は、複数のオペレーティングシステム上のQtベースのソフトウェアスタックやアプリケーションですぐに利用できるライブラリとソフトウェアフレームワークのコレクションである[5]。KDE Frameworksのコレクションははハードウェアの統合、ファイルフォーマットのサポート、追加のコントロール要素、プロット関数、スペルチェックなどの一般的に必要となる機能を特徴としており、GNU Lesser General Public License (LGPL) の下で配布されているKDE Plasma 5とKDE Applicationsの技術的な基盤となっている[6]。
概要
[編集]KDE Frameworks 5はQt 5に基づいており、JavaScriptをベースとした宣言型プログラミング言語のQMLをユーザインタフェースの設計に利用することができる。QMLで使用されるグラフィックスレンダリングエンジンは、様々なデバイス間でより柔軟なユーザインタフェースを実現することができる[7]。
KDE Software CompilationをKDE Frameworks 5、KDE Plasma 5、KDE Applicationsに分割して以降、各プロジェクトは独自の開発ペースを選択することができるようになった。KDE Frameworksは毎月新たなバージョンがリリースされ[8]、バージョン管理システムにはGitを利用している[9][10]。
KDE Platform 4ランタイムとKDE Frameworks 5ランタイムの両方をインストールすることで、アプリケーションはどちらかを利用できるようになる[11]。
APIとABIの安定性
[編集]プラットフォームリリースとはシリーズ(バージョン番号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という名前のファイルが含まれなければならない[12]。このファイルには、フレームワークのメンテナ、種類、サポートされているオペレーティングシステムなどの情報が記載されている。現在サポートされているプラットフォームはLinux、Microsoft Windows、macOS、Androidである。
ソフトウェアアーキテクチャ
[編集]構造
[編集]KDE Frameworksは明確な依存構造を持っている。この構造は「カテゴリ」と「階層」からなり、「カテゴリ」は実行時の依存関係を示すものである。
- 各機能は実行時の依存関係が存在しない。
- 指定されたコードを統合する場合、オペレーティングシステムやプラットフォームによって実行時の依存関係が必要になる可能性がある。
- ソリューションには必須の実行時の依存関係が存在する。
「階層」はコンパイル時の他のフレームワークへの依存関係を示す[13]。
- 第1階層フレームワークは、フレームワーク内には依存関係が存在せず、Qtやその他の関連するライブラリのみが必要となる。
- 第2階層フレームワークは、第1階層フレームワークにのみ依存することができる。
- 第3階層フレームワークは、第1階層フレームワークや第2階層フレームワークと同様に、他の第3階層フレームワークに依存することができる。
コンポーネント
[編集]KDE Frameworksは70以上のパッケージから構成されている。KDE SC 4では、これらのパッケージはKDELibsとして単一の大きなパッケージから構成されていた。KDELibsはいくつかのフレームワークに分割されたが、一部はKDEではなくQt 5.2に統合された[14]。
KDEFrameworksは他のライブラリへの依存度に応じて、異なる4つの階層にグループ化されている。第1階層フレームワークはQtや他のシステムライブラリにのみ依存する。第2階層フレームワークは第1階層ライブラリ、Qtや他のシステムライブラリなどに依存できる[15]。
フレームワークの全リスト | |||
---|---|---|---|
Name | Tier | git | Description |
Frameworkintegration Frameworkintegration | 4 | frameworkintegration.git | Frameworkintegrationは、KDE Plasmaワークスペースで実行する場合のQtアプリケーションの統合を改善するプラグインのセットである。アプリケーションはこれに直接リンクする必要はない。ライブラリKF5Styleは、QtスタイルのKDE Plasmaワークスペース設定との統合を提供する。QStyleをKStyleから派生させて、KDE Plasmaワークスペースから様々な設定を自動的に継承し、一貫したユーザーエクスペリエンスを提供する。例えば、これにより、一貫したシングルクリックまたはダブルクリックのアクティベーション設定と、標準のテーマアイコンの使用が保証される。 |
KActivities KActivities | 3 | kactivities.git | KDE ActivitiesのActivity Manager用コアコンポーネント。 |
KApiDox KApiDox | 4 | kapidox.git | 標準形式とスタイルでAPIドキュメントを構築するためのスクリプトとデータ。このフレームワークには、標準形式とスタイルでAPIドキュメント (dox) を構築するためのスクリプトとデータが含まれている。Doxygenツールは、実際のドキュメントの抽出とフォーマットを行うために使用されるが、このフレームワークは、ドキュメントの生成をより便利にするラッパースクリプト(ターゲットフレームワークまたは他のモジュールからの設定の読み取りを含む)と、生成されたドキュメントの標準テンプレートを提供する。 |
KArchive KArchive | 1 | karchive.git | zipやtarを含む「アーカイブ」形式の簡単な読み取り、作成、操作のためのクラス。 |
KAuth KAuth | 2 | kauth.git | 特権ユーザーとして実行する必要があるアクションを小さなヘルパーユーティリティにオフロードする便利でシステム統合された方法を提供する。 |
KBookmarks KBookmarks | 3 | kbookmarks.git | KBookmarksを使用すると、「XBEL形式」を使用して保存されているブックマークにアクセスして操作できる。ブックマークの最も一般的な使用方法はウェブブラウザであるが、ローカルファイルまたはURLをブックマークとして保存できるアプリケーションでも役立つ。 |
KCMUtils KCMUtils | 3 | kcmutils.git | KDEシステム設定モジュール用のユーティリティ(KSettingsなど)。KCMUtilsは、KCModulesを操作するための様々なクラスを提供する。KCModuleは、KConfigWidgetsフレームワークを使用して作成される。 |
KCodecs KCodecs | 1 | kcodecs.git | KCodecsは文字列エンコードライブラリであり、様々なエンコードを使用して文字列を操作するメソッドのコレクションを提供する。文字列の文字セットを自動的に決定し、XMLエンティティを変換し、電子メールアドレスを検証し、QTextCodecよりも寛容な方法で名前によるエンコーディングを検索できる(インターネットからのデータなどに便利)。 |
KCompletion KCompletion | 2 | kcompletion.git | 補完対応のラインエディットとコンボボックスを含む、文字列補完フレームワーク。ユーザーが完全にオリジナルのものを入力するのではなく、既存のデータ(以前に入力したものを含む)から選択することが多いファイル名、電子メールアドレス、その他のテキストを入力する場合、ユーザーは最初の数文字だけを入力する必要がある場合に役立つことがよくある。その後、アプリケーションに一連の選択肢を提供するか、入力した内容を終了させる。多くの場合、メールクライアント、シェル、および「ファイルを開く」ダイアログがこの機能を提供する。このフレームワークは、Qtベースのアプリケーションでこれを実装するのに役立つ。このフレームワークが提供する補完対応ウィジェットの1つを使用するか、アプリケーションの他のウィジェットに直接統合できる。 開始する最も簡単な方法は、KComboBox、KHistoryComboBox、またはKLineEditを使用することである。ユーザインタフェースの他の部分に補完を統合する場合は、KCompletionを使用して、可能な補完を管理および選択できる。 |
KConfig KConfig | 1 | kconfig.git | KConfigCoreとKConfigGuiの2つの部分で構成される永続的なプラットフォームに依存しないアプリケーション設定。 KConfigCoreは構成ファイル自体へのアクセスを提供するが、それはつまりXML構成の生成である。 KConfigGuiはグラフィカルなコントロール要素(ウィジェット)を設定にフックする手段を提供する。これにより、ウィジェットは設定から自動的に初期化され、ウィジェットの変更はそれぞれの設定ファイルへと自動的に伝搬されるようになる。 |
KConfigWidgetsKConfigWidgets | 3 | kconfigwidgets.git | 構成ダイアログ用のグラフィカルなコントロール要素(ウィジェット)。構成ダイアログ用のウィジェット。KConfigWidgetsは設定ダイアログを作成するための使いやすいクラスと、KConfigを使用して設定を保存する一連のウィジェットを提供する。 |
KCoreAddonsKCoreAddons | 1 | kcoreaddons.git | コアアプリケーション機能およびOSへのアクセス用のユーティリティ。非GUIユーティリティのコレクションを備えたQtアドオンライブラリ。KCoreAddonsはQtCoreの上に構築されたクラスで、MIMEタイプの操作、ファイルの自動保存、バックアップファイルの作成、ランダムシーケンスの生成、マクロ置換などのテキスト操作の実行、ユーザー情報へのアクセスなど、様々なタスクを実行するクラスを提供する。 |
KCrashKCrash | 2 | kcrash.git | アプリケーションのクラッシュの傍受と処理のサポートを提供する。 |
KDBusAddonsKDBusAddons | 1 | kdbusaddons.git | KDBusAddonsはQtDBus上に便利なDBusクラスや、KDEDモジュールを作成するためのAPIを提供する。 |
KDeclarative | 3 | kdeclarative.git | Qt宣言のアドオン。 |
KDE DaemonKDED | 3 | kded.git | KDEDは、KDEワークスペースの中心的なデーモンであるKDE Daemonの略である。KDEDはバックグラウンドで実行され、いくつかの小さなタスクを実行する。これらのタスクの一部は組み込みで、それ以外はオンデマンドで開始される。 |
KDesignerPlugin | 3 | kdeclarative.git | このフレームワークは、様々なKDEフレームワークによって提供されるウィジェットを表示できるQt Designerのプラグインと、iniスタイルの記述ファイルから他のプラグインを生成するために使用できるユーティリティ (kgendesignerplugin) を提供する。 |
KDESu | 3 | kdesu.git | KDESU(KDEスーパーユーザー)は、root権限でシェルコマンドを実行するためのユーザインタフェースを提供する。(パスワードを要求する)コンソールモードプログラムのGUIフロントエンドを構築する機能を提供する。例えば、kdesuとkdesshは、それぞれsuとsshとのインタフェースに使用する。 |
KDEWebkitKDEWebkit | 3 | kdewebkit.git | HTMLレンダリングエンジンWebKitの統合。KDEWebkitライブラリは、QtWebKitライブラリのKDE統合を提供する。KDEアプリケーションでQtWebKitを使用している場合、QtWebKitクラスを直接使用する代わりにこのレイヤーを使用することが推奨される。特に、QWebViewではなくKWebView、QGraphicsWebViewではなくKGraphicsWebView、QWebPageではなくKWebPageを使用すべきである。 |
KDNSSDFramework | 2 | kdnssd.git | KDNSSDは、DNSベースのサービス検出プロトコル(DNS-SD)であるZeroconf(http://www.zeroconf.org/)の層を処理するためのライブラリである。これにより、ユーザーの介入または集中インフラストラクチャなしにプリンターなどのネットワークサービスを何もせずに検出できる。 |
KDocTools | 2 | kdoctools.git | DocBookファイルから様々な形式のドキュメントを生成するツールを提供する。 |
KEmoticons | 3 | kemoticons.git | テキストの絵文字をグラフィカルな絵文字に自動的に変換するヘルパークラスだけでなく、絵文字のテーマも提供する。 |
KGlobalAccelKGlobalAccel | 1 | kglobalaccel.git | KGlobalAccelを使用すると、フォーカスされたウィンドウに依存しないグローバルキーボードショートカット(アクセラレータ)を使用できる。通常のショートカットとは異なり、アプリケーションのウィンドウをアクティブ化するためにフォーカスする必要はない。 |
KGuiAddons | 1 | kguiaddons.git | KDE GUIアドオン。グラフィカルユーザインタフェースのユーティリティ。KDE GUIアドオンは、色、フォント、テキスト、画像、キーボード入力の分野でグラフィカルユーザインタフェース用のユーティリティを提供する。 |
KHTMLKHTML | 4 | khtml.git | KHTMLはWebKitからフォークされたHTMLレンダリングエンジンである。KPartsテクノロジーに基づいており、JavaScriptサポートにKJSを使用する。 |
Ki18n | 1 | ki18n.git | KDE gettextベースのUIテキストの国際化。KI18nは、GNU Gettext翻訳システムに基づいて、アプリケーションでユーザインタフェーステキストを国際化する機能を提供する。標準のGettext機能をラップしているため、プログラマや翻訳者は使い慣れたGettextツールとワークフローを使用できる。KI18nは、プログラマと翻訳者の両方に追加の機能も提供する。これにより、ソースおよび翻訳テキストの全体的な品質を高めることができる。これには、引数のキャプチャ、カスタマイズ可能なマークアップ、および翻訳スクリプトが含まれる。 |
KIconThemes | 3 | kiconthemes.git | このライブラリには、KDEフレームワークを使用するアプリケーションでアイコンの処理を改善するためのクラスが含まれる。 |
KIdleTime | 1 | kidletime.git | アイドリング時間検出用の統合モジュール。 |
KImageFormats | 1 | kimageformats.git | QImageが追加のファイル形式をサポートできるようにするプラグイン。このフレームワークはQtGui用の追加の画像形式プラグインを提供する。そのため、他のソフトウェアのコンパイルには必要ないが、Qtベースのソフトウェアが特定の画像形式をサポートするためのランタイム要件になる場合がある。
以下の画像形式は読み取りのみをサポートする:
以下の画像形式は読み取りと書き込みをサポートする: |
KInitKInit | 3 | kinit.git | kdeinitはプロセスランチャーで、「kdemain(...)」関数を含むダイナミックライブラリをフォークしてからロードすることでプロセスを起動します。kdeinitは、KDEワークスペースでのアプリケーションの起動を高速化する。kdeinitは、標準のKDEアプリケーションが必要とする全てのライブラリに対してリンクされている。この手法では、アプリケーション自体のみをリンクする必要があるので、アプリケーションの起動がはるかに速くなる。 |
KIO | 3 | kio.git | ファイルおよびデータへのネットワーク透過的なアクセス。このフレームワークは必要となるほぼ全てのファイル管理機能を実装している。DolphinとKDEファイルダイアログもネットワーク対応のファイル管理を提供するためにこれを使用している。 |
Kirigami | 1 | kirigami.git | KDE UXガイドラインに基づいてユーザインタフェースを構築するためのQtQuickプラグインのセット。 |
KItemModels | 1 | kitemmodels.git | Qtモデルビューフレームワークを拡張するアイテムモデルのセット。KItemModelsは以下のモデルを提供する:
|
KItemViews | 1 | kitemviews.git | Qtモデルビューフレームワークを拡張するアイテムビューのセット。KItemViewsには、アイテムモデルで使用できる一連のビューが含まれている。KItemViewsにはリストを分類し、検索フィルターをフラットリストおよび階層リストに追加するためのビューが含まれている。 |
KJobWidgets | 2 | kjobwidgets.git | KJobWIdgetsは、非同期ジョブの進行状況を表示するためのウィジェットを提供する。 |
KJS | 1 | kjs.git | KJSはECMAScript互換のインタプリタを提供する。ECMA標準はネットスケープのJavaScriptやマイクロソフトのJScriptなどのよく知られたスクリプト言語に基づいている。 |
KJSEmbed | 3 | kjsembed.git | KSJEmbedはJavaScriptオブジェクトをQObjectにバインドする方法を提供するため、アプリケーションをスクリプト化可能にする。 |
KMediaPlayer | 3 | kmediaplayer.git | 非推奨:メディアプレーヤーKPartsのインタフェース。KMediaPlayerはKPartsフレームワーク上に構築され、メディアファイルを再生できるKPartsの共通インタフェースを提供する。このフレームワークは移植支援である。KMediaPlayerは新しいプロジェクトには非推奨であり、それを使用する既存のプロジェクトは、それから移植して、代わりにプレーンなKPartsを使用することが推奨される。 |
KNewStuff KNewStuff | 3 | knewstuff.git | 追加のアプリケーションデータをダウンロードおよび共有するためのフレームワーク。KNewStuffライブラリは、アプリケーションの共同データ共有を実装する。libatticaを使用して、Open Collaboration Services仕様をサポートする。 Atticaは、Open Collaboration Services APIバージョン1.6を実装するQtライブラリであり、個人やコンテンツに関する情報の照会などのサービスへの簡単なアクセスができるようにする。 |
KNotifications KNotifications | 3 | knotifications.git | システム通知を抽象化したソリューション。 |
KNotifyConfig KNotifyConfig | 3 | knotifyconfig.git | KNotify構成用のモジュール。 |
KParts KParts | 3 | kparts.git | KPartsライブラリは、KDEパーツのフレームワークを実装する。1つの個別のユーザインタフェースコンポーネントはKPartと呼ばれ、アクション(メニュー項目、ツールバーアイコン)の観点から定義されたユーザインタフェースを持つ精巧なウィジェットである。KPartsは、GNOMEのBonoboコンポーネントやマイクロソフトのComponent Object ModelのActiveXコントロールに類似している。KonsoleはKPartとして利用でき、KonquerorやKateなどのアプリケーションで使用される。KPartsの使用例には以下が存在する:
以下も参照:
|
KPlotting KPlotting | 1 | kplotting.git | KPlotWidgetはQWidgetから派生したクラスで、データを簡単にプロットできる仮想ベースクラスを提供する。KPlotWidgetの背後にある考え方は、あなただけが持っているということである「データ単位」、すなわち、プロットされるデータの自然単位で情報を指定する。KPlotWidgetは全て自動的にスクリーンピクセル単位に変換する。KPlotWidgetは目盛りと目盛りラベルでX軸とY軸を描画し、プロットに指定されたデータ制限に基づいて、使用する目盛りの数と位置を自動的に決定する。'setLimits(double x1、double x2、double y1、double y2)'を呼び出すことで制限を変更する。プロットされるデータはKPlotObjectクラスを使用して保存される。KPlotObjectはQPointFのQListで構成され、それぞれがデータポイントのX、Y座標を指定する。KPlotObjectはプロットするデータの「タイプ」も指定(POINTSまたはCURVEまたはPOLYGONまたはLABEL)する。 |
KPty KPty | 2 | kpty.git | 疑似端末デバイスとのインタフェース。このライブラリは疑似端末デバイスとインターフェイスするプリミティブと、子プロセスを実行してptyを使用して子プロセスと通信するためのKProcess派生クラスを提供する。 |
Kross Kross | 3 | kross.git | アプリケーションへスクリプトを組み込む。Krossはスクリプト機能をアプリケーションに組み込むためのスクリプトブリッジであり、スクリプトインタプリタバックエンドとしてQtScriptをサポートする。 Krossのコアはインタプリタバックエンドを透過的に処理するためのフレームワークを提供し、スクリプトを処理するための抽象的な機能を提供する。 |
KRunner KRunner | 3 | krunner.git | 文字列クエリを指定してさまざまなアクションを提供するためのフレームワーク。Plasmaランナー用フレームワーク。PlasmaワークスペースはKRunnerと呼ばれるアプリケーションを提供する。これによりテキストエリアに入力することで、入力され表示されたテキストに一致する様々なアクションを発生させたり、情報を表示することができるようになる。このための1つのアプリケーションが⎇ Alt+F2で起動できるユニバーサルランナーである。 |
KService KService | 3 | kservice.git | KServiceはデスクトップサービスを処理するためのプラグインフレームワークを提供する。サービスはアプリケーションまたはライブラリであり、MIMEタイプにバインドするかアプリケーション固有のコードで処理をすることができる。 |
KSyntaxHighlighting KSyntaxHighlighting | 1 | syntax-highlighting.git | Kate構文強調表示エンジンのスタンドアロン実装。これは、テキストエディタと単純な強調表示されたテキストレンダリング(HTMLなど)の構成要素として、カスタムエディターとすぐに使用できるQSyntaxHighlighterサブクラスの両方の統合をサポートする。 |
KTextEditor KTextEditor | 3 | ktexteditor.git | KTextEditorはKPartとして、またはKF5 :: TextEditorライブラリを使用して(さらに制御が必要な場合)アプリケーションに組み込むことができる、強力なテキストエディタコンポーネントを提供する。テキストエディタコンポーネントには構文の強調表示や自動インデントから高度なスクリプトサポートまで多くの便利な機能が含まれており、シンプルな組み込みテキストファイルエディタから高度なIDEまであらゆるものに適している。 |
KTextWidgets KTextWidgets | 3 | ktextwidgets.git | KTextWidgetsはテキストを表示および編集するためのウィジェットを提供する。リッチテキストとプレーンテキストをサポートする。 |
KUnitConversion KUnitConversion | 2 | kunitconversion.git | KUnitConversionは異なる物理単位の値を変換する関数を提供する。KUnitConversionは異なる接頭辞(キロ、メガ、ギガなど)の変換と、異なる単位系(リットル、ガロンなど)間の変換をサポートする。以下の領域がサポートされている:
|
KWalletFrameworkKWalletFramework | 3 | kwallet.git | パスワードに対して安全なデスクトップワイドストレージ。KWalletFrameworkは以下の2つの主要コンポーネントから構成される:
|
KWayland KWayland | 1 | kwayland.git | KWaylandはKDEアプリケーションでWaylandのサポートを実装するためKDEライブラリであり、QtWaylandが提供する以上のニーズを満たす。plasma-wayland-sessionの全てのKDEアプリケーションの多くはこのライブラリとLXQtを使用する。KWaylandは5.22(2016年5月)以降KDEフレームワークの一部である。以前はKDE Plasma 5の一部として配布されていた。 |
KWidgetsAddons KWidgetsAddons | 1 | kwidgetsaddons.git | QtWidgetsの上にあるさまざまなクラスのアドオン。KDE Platform 4 "kdeui"ライブラリからアプリケーションを移植する場合、そのクラスの多くがここにある。それらはツールバーまたはメニューに追加できるアクションクラス、文字、フォント、色、アクション、日付と時刻、またはMIMEタイプを選択するための幅広いウィジェット、および構成ページ、メッセージボックス用のプラットフォーム対応ダイアログ、およびパスワードのリクエストなどである。その他のウィジェットとクラスは、他のKDEフレームワークで見つけることができる。 |
KWindowSystem KWindowSystem | 1 | kwindowsystem.git | ウィンドウシステムと対話できるようにする。KWindowSystemはグローバル状態(ルートウィンドウに設定されているすべて)にアクセスするためのNETRootInfoと、特定のウィンドウに関するすべての情報のためのNETWinInfoを提供する。そのクラスにはウィンドウマネージャとクライアントの観点があり、KWinおよびタスクマネージャなどのグラフィカルシェルの様々な部分を強化する基盤である[16]。これらX11固有のクラスの上に、便利なAPI KWindowInfoとKWindowSystemがあり、アプリケーションにウィンドウシステムに依存しないAPIを提供する。 |
KXMLGUI KXMLGUI | 3 | kxmlgui.git | KXMLGUIはメニューとツールバーのアクションを抽象的な方法で管理するためのフレームワークを提供する。アクションはアプリケーションコードのXML記述とフックによって構成される。フレームワークは、例えばプラグインからのアクションを統合するために、複数の説明のマージをサポートする[16] 。 KXMLGuiはKConfigのキオスク認証機能を使用する(そのフレームワークのKAuthorized名前空間を参照)。特にKAuthorized::authorizeAction() が許可されていないことを報告した場合、KActionCollectionに追加されたQActionインスタンスは無効になる。同様に、標準のヘルプメニュー (KHelpMenu) の項目は、キオスクの設定に基づいて無効にでき、ツールバーの編集を制限できる。詳細については、KActionCollection、KHelpMenu、KToolBarのドキュメントを参照すること。 |
Plasma-framework Plasma-framework | 3 | plasma-framework.git | KF5およびQt5に基づくKDE Plasmaワークスペースの基礎ライブラリ、ランタイムコンポーネント、およびツール。Plasma-frameworkは以下を提供する:
|
Prison Prison | 1 | prison.git | PrisonはQtベースのバーコード抽象化レイヤー/ライブラリであり、データを含むバーコードの生成への均一なアクセスを提供する。 |
Solid Solid | 1 | solid.git | Solidは基盤となるオペレーティングシステムに依存せずハードウェアを照会および対話する方法を提供する。アプリケーション開発者に以下の機能を提供する: |
Sonnet Sonnet | 1 | sonnet.git | SonnetはQtベースのアプリケーション用のプラグインベースのスペルチェックライブラリである。SonnetはHSpell、Enchant、ASpell、HUNSPELLなど、さまざまなプラグインをサポートしており、異なるアルゴリズムの組み合わせに基づいた自動言語検出もサポートしている。アプリケーションでSonnetを使用する最も簡単な方法は、QTextEditでSpellCheckDecoratorクラスを使用することである。 |
Syndication Syndication | 2 | syndication.git | SyndicationはRSS/Atomパーサーライブラリである。 |
ThreadWeaver ThreadWeaver | 1 | threadweaver.git | ThreadWeaverはジョブキューであり、内部で管理するスレッドでジョブを実行する。 |
ソフトウェアパッケージ
[編集]Linuxディストリビューションは配布するソフトウェアをパッケージ化するために、何らかのパッケージ管理システムを使用している。例えばDebianはKGlobalAccelをlibkf5globalaccelというパッケージ名で配布している[17]が、Fedoraはkf5-kglobalaccelという名前で配布している[18]。
リリース履歴
[編集]バージョン5.0の前に、技術プレビューと2つのアルファリリースと3つのベータリリースが存在した[19][20][21]。
リリース履歴 | ||
---|---|---|
バージョン | 日付 | 備考 |
5.0 | 2014年7月7日[22] | 初期リリースには、Qt 5.2が必要 |
5.1 | 2014年8月7日[23] | |
5.2 | 2014年9月12日[24] | |
5.3 | 2014年10月7日[25] | |
5.4 | 2014年11月6日[26] | |
5.5 | 2014年12月11日[27] | |
5.6 | 2015年1月8日[28] | 新しいフレームワーク:KPackageおよびNetworkManagerQt |
5.7 | 2015年2月14日[29] | |
5.8 | 2015年3月13日[30] | 新しいフレームワーク:KPeopleおよびKXmlRpcClient |
5.9 | 2015年4月10日[31] | 新しいフレームワーク:ModemManagerQt |
5.10 | 2015年5月8日[32] | |
5.11 | 2015年6月12日[33] | 新しいフレームワーク:BlueZ-Qt(BlueZを参照) |
5.12 | 2015年7月10日[34] | |
5.13 | 2015年8月12日[35] | 新しいフレームワーク:Baloo(NEPOMUKの代わり)およびKFileMetaDataは、Qt 5.3を必要とする |
5.14 | 2015年9月11日[36] | |
5.15 | 2015年10月10日[37] | |
5.16 | 2015年11月13日[38] | |
5.17 | 2015年12月12日[39] | |
5.18 | 2016年1月9日[40] | |
5.19 | 2016年2月13日[41] | |
5.20 | 2016年3月13日[42] | |
5.21 | 2016年4月9日[43] | 新しいフレームワーク:KActivities-stats、Qt 5.4が必要に |
5.22 | 2016年5月15日[44] | 新しいフレームワーク:KWayland |
5.23 | 2016年6月13日[45] | |
5.24 | 2016年7月9日[46] | |
5.25 | 2016年8月13日[47] | Qt 5.5以降が必要に |
5.26 | 2016年9月10日[48] | |
5.27 | 2016年10月8日[49] | |
5.28 | 2016年11月15日[50] | 新しいフレームワーク:KSyntaxHighlighting[51] |
5.29 | 2016年12月12日[52] | 新しいフレームワーク:刑務所 |
5.30 | 2017年1月14日[53] | KPackageのKNewStuffサポートを追加 |
5.31 | 2017年2月11日[54] | 多くのモジュールにPythonバインディングがあり、Qt 5.6以降が必要に |
5.32 | 2017年3月11日[55] | |
5.33 | 2017年4月8日[56] | |
5.34 | 2017年5月13日[57] | |
5.35 | 2017年6月1日[58] | |
5.36 | 2017年7月8日[59] | |
5.37 | 2017年8月13日[60] | 新しいフレームワーク:Kirigami、Qt 5.7以降が必要に |
5.38 | 2017年9月9日[61] | |
5.39 | 2017年10月14日[62] | |
5.40 | 2017年11月11日[63] | |
5.41 | 2017年12月10日[64] | |
5.42 | 2018年1月13日[65] | |
5.43 | 2018年2月12日[66] | 新しいフレームワーク:KHolidays |
5.44 | 2018年3月10日[67] | |
5.45 | 2018年4月14日[68] | |
5.46 | 2018年5月12日[69] | |
5.47 | 2018年6月9日[70] | |
5.48 | 2018年7月14日[71] | |
5.49 | 2018年8月11日[72] | |
5.50 | 2018年9月8日[73] | |
5.51 | 2018年10月15日[74] | |
5.52 | 2018年11月10日[75] | |
5.53 | 2018年12月9日[76] | |
5.54 | 2019年1月12日[77] | |
5.55 | 2019年2月9日[78] | |
5.56 | 2019年3月9日[79] | |
5.57 | 2019年4月13日[80] | |
5.58 | 2019年5月13日[81] | |
5.59 | 2019年6月8日[82] | |
5.60 | 2019年7月13日[83] | |
5.61 | 2019年8月10日[84] | |
5.62 | 2019年9月14日[85] | |
5.63 | 2019年10月12日[86] | |
5.64 | 2019年11月10日[87] | |
5.65 | 2019年12月14日[88] | |
5.66 | 2020年1月11日[89] | |
5.67 | 2020年2月9日[90] | |
5.68 | 2020年3月15日[91] | |
5.69 | 2020年4月11日[92] | |
5.70 | 2020年5月9日[93] | |
5.71 | 2020年6月13日[94] | |
5.72 | 2020年7月11日[95] | |
5.73 | 2020年8月8日[96] | |
5.74 | 2020年9月12日[97] | |
5.75 | 2020年10月10日[98] | |
5.76 | 2020年11月7日[99] | |
5.77 | 2020年12月12日[100] | |
5.78 | 2021年1月9日[101] | |
5.79 | 2021年2月13日[102] | |
5.80 | 2021年3月13日[103] | |
5.81 | 2021年4月10日[104] | |
[105] | 5.82||
サポート終了 現行バージョン 将来のリリース |
歴史
[編集]KDE FrameworksのソースコードはKDElibs 1の頃から存在する。最初にKDE Frameworksとしてリリースされたのはバージョン5で、コードベースがKDE Platformのバージョン 4(KDE Platformの唯一のメジャーバージョン)であったことを考慮された。
KDE Platformから KDE Frameworksへの移行は2013年8月に開始された[7]。
KDE Frameworks 5.0の初期リリース後、開発者はMozilla FirefoxとKDEの統合性の向上[106]などのように、KDE Frameworks 5に新たな機能を追加することに焦点を当てている[107]。
KDE Frameworks 5の主な改良点は、モジュール化の強化である。KDE Frameworks 5以前はライブラリは単一の大きなパッケージから構成されていたが、KDE Frameworks 5ではライブラリは小さなパッケージに分割された。このことにより依存関係を最小限に抑えることができ、他のQtベースのアプリケーションでの利用が容易になった[7]。
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に依存していた[108]。
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日閲覧。