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 多语言的应用脚本 | 方案性 |