kde framework概述(KDE Framework譯文)
KDE Frameworks 基於QT框架,提供簡單實用的類(例如那些KCoreAddons裏的類)去為桌面應用的日常需要整合出解決方案(例如KNewStuff用於在應用中獲取可下載的附加內容,或者那個強大的KIO多協議文件訪問框架)。
KDE Frameworks 可以被用於基於CMake和QMake的工程中,其中大部分至少可用於Windows, Mac 和 Linux。每個子框架的文檔已經寫明如何在QMake和CMake的工程中加入對應的框架。
這些子框架根據它們的依賴被分為四個等級,例如:等級一的框架基於QT,可能有第三方庫,但是不依賴其他子框架。這也就使得它們可以更簡單地整合到現有應用中。
(註:下面表格中的類型原文為functional intergration 和 solution,翻譯不正確還請見諒)
庫列表
等級 1
等級一的框架只基於QT(可能有少數第三方庫),所以可以簡單的被任何基於QT的工程使用。
框架 | 類型 |
Attica 開放協作服務 API |
功能性 |
BluezQt Qt對BlueZ 5 DBus API的封裝 |
整合性 |
BreezeIcons Breeze圖標主題 |
功能性 |
ECM 額外的 CMake 模塊 |
功能性 |
KApiDox 用來構建標準格式和風格下的API文檔的腳本和數據 |
功能性 |
KArchive 文件壓縮 |
功能性 |
KCodecs 文本編碼 |
功能性 |
KConfig 配置系統 |
功能性 |
KCoreAddons QtCore的附加部分 |
功能性 |
KDBusAddons QtDBus的附加部分 |
功能性 |
KDNSSD 系統 DNSSD 特征抽象化 |
整合性 |
KGuiAddons QtGui的附加部分 |
功能性 |
KI18n 領先的國際化框架 |
功能性 |
KIdleTime 檢測用戶活動 |
功能性 |
Kirigami2 去構建基於KDE UX準則的用戶接口的QtQuick插件 |
功能性 |
KItemModels Qt Model/View 系統的模型 |
功能性 |
KItemViews Qt Model/View 附加組件 |
功能性 |
KPlotting 輕量的測繪框架 |
功能性 |
KSyntaxHighlighting 語法強調 |
功能性 |
KUserFeedback 用戶反饋框架 |
方案性 |
KWayland wayland-client 和 wayland-server API之間互相調用的QT風格API |
整合性 |
KWidgetsAddons QtWidgets的附加組件 |
功能性 |
KWindowSystem 窗口系統的入口 |
整合性 |
ModemManagerQt QT封裝的 ModemManager API |
整合性 |
NetworkManagerQt QT封裝的 NetworkManager API |
整合性 |
Oxygen-icons Oxygen 圖標主題 |
功能性 |
Prison 為常見條碼提供規格一致的入口的條碼抽象層 |
方案性 |
Solid 硬件整合和探查 |
整合性 |
Sonnet 拼寫檢查的支持 |
方案性 |
ThreadWeaver 高級的多線程框架 |
功能性 |
等級 2
等級二的框架依賴等級一的框架,但仍然保持簡單可管理的依賴。
框架 | 類型 |
KActivities 在多個活動間組織用戶工作的運行時和庫 |
方案性 |
KAuth 系統策略和認證的抽象 |
整合性 |
KCompletion 文本補全的幫助者和組件 |
功能性 |
KCrash 應用中垃圾分析和bug匯報的支持 |
整合性 |
KDocTools 從 docbook 產生文檔 |
功能性 |
KFileMetaData 一個文件元數據和文本提取庫 |
整合性 |
KImageFormats Qt圖片格式化插件 |
功能性 |
KJobWidgets 跟蹤 KJob 實例的組件 |
功能性 |
KNotifications 系統提醒的抽象 |
方案性 |
KPackage 加載和安裝沒有二進制文件作為插件的包的庫 |
功能性 |
KPty Pty 抽象 |
整合性 |
KUnitConversion 單位轉換的支持 |
功能性 |
等級 3
等級三的框架通常更強大,更綜合,因此有更多復雜的依賴。
框架 | 類型 |
Baloo Baloo 是一個文件索引和搜索的框架 | 方案性 |
KActivitiesStats 被活動系統搜集的使用數據的入口庫 | 方案性 |
KBookmarks 書簽和 XBEL 格式化的支持 |
功能性 |
KCMUtils 使用 KCModules 的工具 | 整合性 |
KConfigWidgets 配置對話框的組件 | 整合性 |
KDeclarative 給 QML 和 KDE 框架提供整合 | 功能性 |
KDED 提供系統級別服務的可擴展進程 | 方案性 |
KDesignerPlugin 在 Qt Designer/Creator 整合框架組件 |
功能性 |
KDESu 為提高特權整合su | 整合性 |
KDEWebKit QtWebKit 的 KDE 整合 |
整合性 |
KEmoticons 表情和表情主題的支持 | 功能性 |
KGlobalAccel 全局工作區快捷鍵的支持 | 整合性 |
KIconThemes 圖標主題的支持 | 整合性 |
KInit 運行啟動器去加速 KDE 應用的啟動 | 方案性 |
KIO 資源和網絡訪問的抽象 | 方案性 |
KNewStuff 從網絡下載應用數據的支持 | 方案性 |
KNotifyConfig KNotify的配置系統 | 整合性 |
KParts 記錄中心插件系統 | 方案性 |
KPeople 提供持有它們的人們的聯絡入口 | 功能性 |
KRunner 並發查詢系統 | 方案性 |
KService 先進的插件和服務內省 | 方案性 |
KTextEditor 先進的嵌入式文本編輯器 | 方案性 |
KTextWidgets 先進的文本編輯組件 | 功能性 |
KWallet 安全、一致的用戶密碼容器 | 方案性 |
KXmlGui 用戶可配置的主窗口 | 整合性 |
KXmlRpcClient XMLRPC 服務的整合 |
功能性 |
Plasma 基於 UI 運行時,用於寫主要用戶接口的插件 |
方案性 |
等級 4
等級4的框架和被大部分應用程序忽略;這個等級包括了給已有框架提供額外功能或平臺整合的運行於後臺的插件。
框架 | 類型 |
FrameworkIntegration 工作區和跨框架整合插件 | 整合性 |
Porting Aids
Porting Aids框架提供代碼和工具去完成從 kdelibs 4 到 KDE Frameworks 5 的過渡。代碼應該從這個框架剝離,新的工程應避免適用這些庫
框架 | 類型 |
KDELibs4Support KDELibs4 的 Porting 助手 |
方案性 |
KHtml KHTML APIs | 方案性 |
KJS 應用中的 JS 腳本支持 |
功能性 |
KJsEmbed 嵌入式 JS | 功能性 |
KMediaPlayer 媒體播放器特征的接口插件 | 整合性 |
Kross 多語言的應用腳本 | 方案性 |
kde framework概述(KDE Framework譯文)