统信DTK开发套件应用技术分享


小刺猬活泼
小刺猬活泼 2022-09-29 09:45:17 51745
分类专栏: 资讯

近年来,信创产业发展迅猛,国产软硬件适配的需求日益增加,但国内CPU架构种类繁多,导致大量的适配投入。同时,由于底层代码质量不同、代码实现风格不统一等问题,造成自研操作系统的应用开发门槛高,应用生态严重缺失。

面对这种情况,统信软件专门推出一款帮助开发者快速实现跨平台跨架构的开发套件:DTK(Development ToolKit)。DTK是统信基于Qt开发的一整套简单且实用的通用开发框架,处于统信UOS系统中的核心位置,统信UOS浏览器、音乐、邮件等40余款原生应用全部使用DTK开发。DTK从开发者的角度出发,融合现代化的开发理念,提供丰富的开发接口与支持工具,满足日常图形应用、业务应用、系统定制应用的开发需求,提升开发效率,让开发者畅享跨平台、跨架构的开发体验。

统信软件同心生态联盟联合统信软件教育与考试中心将于2022年3月10日14:00-16:00,举办同心赋能·铸就未来第六期—统信DTK开发套件应用技术培训活动,采用线上腾讯会议(会议号:369-413-916)帮助更多的开发者从理论和实践的角度,了解“统信DTK开发套件应用技术”,解决开发者长久以来在自主软硬件平台开发的烦恼。

2019年伴随着deepin V20版本的开发,DTK也迎来了有史以来的最大改动,从此开始了DTK5.0时代。

在这里插入图片描述
DTK其实是多个项目的总称,它按功能角色划分了不同的模块,dtkcommon是所有模块的基础,它主要提供qmake相关的pri/prf文件,因为每个模块项目的目录结构都有许多共同点,比如都分了src、tools、tests这些子目录,并且都需求在编译期自动生成一些文件,还会定义一些文件的安装路径,为了方便统一的管理这些行为,遂将这些通用的与qmake构建相关的实现都放到了dtkcommon中实现,以便在其它模块编译时统一引用。

dtkcore包含了所有与图形不相关的实现,它的定位与Qt5的QtCore类似,提供了获取系统信息、监听文件系统、日志框架等功能。

dtkgui的定位是用来实现与图形相关且与具体的UI控件无关的基础功能,提供了如图形环境的主题读写功能,可以获取和设置鼠标光标的闪动速度、当前环境的文字大小等配置。

在这之外还封装了与窗口管理器交互的功能,比如获取窗口管理器的名称、为某个窗口设置开启背景模糊的功能,这些功能在DDE桌面环境中被大量使用。此外还提供一些与图形相关的工具类,此处不再详细展开。

dtkwidget建立在dtkgui之上,它主要包含两大部分内容,一是对Qt已有控件提供符合deepin设计的样式,在这个实现中,没有使用任何qss代码,而是对Qt更底层的部分进行覆盖,这样做的好处是:不影响使用DTK开发的程序使用qss来进行二次定义,对于一个开发库来说,这有非常大的意义。

另一方面,因为Qt已有的控件已经设计了很多年,对于现代化的应用程序来说,它缺少新鲜血液的注入,缺乏新控件,无法满足新型的现代化程序的开发,所以DTK还增加了一些新控件,比如“标签编辑框”、“窗口内部的消息通知”、“开关式切换按钮”等。此外对所有的控件(Qt中已有的和DTK中新增的),都统一了字体和颜色管理系统,使用dtkwidget开发的应用,都可以自动跟随图形环境的“亮色”和“暗色”主题设置,可以统一的响应系统字体大小改变,不用重启应用也可以实时看到效果。

qt5integration和qt5platform-plugins是为Qt编写的插件,为程序提供了对操作系统能力的封装,比如调用系统提供的文件选择对话框、为窗口自定义标题栏、设置窗口的圆角大小等功能。

这两个模块不会被应用程序直接使用,它们所提供的所有能力皆已经在dtkgui和dtkwidget中进行了封装,所以很好的屏蔽掉了程序对底层系统的强制依赖,使得DTK开发的程序可以轻松的迁移到其它平台。

DTK一键安装开发工具包
为了方便开发者开发 DTK 应用,我们已经将所有做 DTK 应用开发的软件包整合在了一个软件包里面,安装该包即可自动安装做 DTK 应用开发的环境,包括 libdtkwidget-dev, libdtkgui-dev, libdtkcore-dev,cmake,qtcreator,qtcreator-template-dtk,qt5-default,g++,git…等包。

安装开发环境
在目前的最新版 deepin 商店,已经上架了 DTK 开发工具包,在商店搜索 DTKIDE 即可看到

2022年3月10日14:00-16:00,将为您详细介绍DTK开发套件应用技术,采用线上腾讯会议(会议号:369-413-916)帮助更多的开发者从理论和实践的角度,了解“统信DTK开发套件应用技术”,解决开发者长久以来在自主软硬件平台开发的烦恼。

文章知识点与官方知识档案匹配,可进一步学习相关知识
CS入门技能树Linux入门初识Linux17938 人正在系统学习中

网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。

本文链接:https://www.xckfsq.com/news/show.html?id=10864
赞同 0
评论 0 条
小刺猬活泼L0
粉丝 0 发表 9 + 关注 私信
上周热门
如何使用 StarRocks 管理和优化数据湖中的数据?  2951
【软件正版化】软件正版化工作要点  2872
统信UOS试玩黑神话:悟空  2833
信刻光盘安全隔离与信息交换系统  2728
镜舟科技与中启乘数科技达成战略合作,共筑数据服务新生态  1261
grub引导程序无法找到指定设备和分区  1226
华为全联接大会2024丨软通动力分论坛精彩议程抢先看!  165
2024海洋能源产业融合发展论坛暨博览会同期活动-海洋能源与数字化智能化论坛成功举办  163
点击报名 | 京东2025校招进校行程预告  163
华为纯血鸿蒙正式版9月底见!但Mate 70的内情还得接着挖...  159
本周热议
我的信创开放社区兼职赚钱历程 40
今天你签到了吗? 27
如何玩转信创开放社区—从小白进阶到专家 15
信创开放社区邀请他人注册的具体步骤如下 15
方德桌面操作系统 14
用抖音玩法闯信创开放社区——用平台宣传企业产品服务 13
我有15积分有什么用? 13
如何让你先人一步获得悬赏问题信息?(创作者必看) 12
2024中国信创产业发展大会暨中国信息科技创新与应用博览会 9
中央国家机关政府采购中心:应当将CPU、操作系统符合安全可靠测评要求纳入采购需求 8

加入交流群

请使用微信扫一扫!