DTK(Development ToolKit)全稱是統信開發套件,是基於Qt開發的一整套通用開發框架。 其主要覆蓋日常圖形套用、業務套用、系統定製套用等開發需求。截止到2021年5月DTK已完成 5 個版本疊代,108 + 次更新,累計提交代碼近 20 萬行,已被遷移至超過 10 個 Linux 發行版。
基本介紹
- 軟體名稱:統信開發套件
- 軟體平台:Linux/Windows/OS X
- 上線時間:2015年1月1日
- 最近更新時間:2021年5月26日
- 開發商:統信軟體技術有限公司
- 軟體版本:V5.0
發展歷程,主要功能,dtkcore,dtkgui,widget,版本記錄,V1.0,V2.0,V3.0,V4.0,V5.0,運行環境,作業系統,軟體環境,指令集環境,
發展歷程
2015 年,Deepin 團隊開發 Deepin v15 版本的時候,因為開發控制中心(基於 Qt Widgets),開發的過程中抽象出了 DUI 控制項庫(從控制中心開發起三個月),只有一些通用性的控制項,倉庫名稱為DUI 。
2016 年,隨後開發其他項目,DUI 中加的東西越來越多,也不僅限於 UI 方面的控制項,之後就改名為了 deepin-tool-kit 項目。
2017 年,隨後成為了 DDE 桌面環境的底層開發庫,封裝了桌面組件和上層套用的通用型視窗、控制項、工具類,隨著項目越來越大,編譯也越來越慢,於是拆分為了 dtkcore、dtkwidget、dtkwm(僅三個倉庫),舊的 deepin-tool-kit 倉庫地址處於廢棄狀態。
2019 年,新增加了 dtkgui 模組,廢棄了 dtkwm(不可跨平台,強依賴 X11,因此廢棄),此後分為 dtkcore、dtkgui、dtkwidget,角色分別對應 Qt core、gui、widgets 模組。
2020 年,按照如今的理解為,dtk = dtkwidget + dtkgui + qt5integration + dtkcore + ... 等多個項目的總稱呼
2021年,DTK由原來的Deepin tool kit深度開發工具套件,更名為Development ToolKit全稱是統信開發工具套件,並支持UOS、Deepin作業系統,且具備平台化,提供商店、簽名、開發工具、IDE外掛程式等。
2021年4月25日,統信開發套件DTK發布 。
主要功能
由dtk主文檔可以看出當前的主要功能有:
dtkcore
提供應用程式開發中的工具類,如程式日誌、檔案系統監控、格式轉換等工具類。
dtkgui
包含了開發圖形用戶界面應用程式所需的功能。主要是控制視窗主題這種外觀性,調色板等信息。
widget
提供各種dtk基礎控制項,方便開發統一風格的套用。
其中隨著時間的變化,界面的 UI 樣式也發生了比較大的變化,當時deepin v15版本的控制中心,還在螢幕右側,不透明偏向黑色,到後來的成為白色偏透明色,直到uos v20一個單獨的控制中心。
而 dtk 是屬於繪畫自定義皮膚控制項的基礎核心,然後在它的基礎上面做了一次封裝, 封裝了一系列 Dxxxx 開頭的控制項(如 DPushButton 等), 然後再由套用開發的同學們,開發出一款款套用,全部使用 dtk 的控制項。那樣開發出來的界面,就和系統的風格保持了一致性;而對於 win 系列的軟體,也可以使用 wine來在 此 linux 上面運行;而對於第三方的套用軟體,使用 chameleon style 啟動,來保證和系統的風格一致。
版本記錄
V1.0
DUI(Deepin UI Library)誕生與Deepin作業系統,實現系統控制中心的開發需求
V2.0
DUI改名為DTK(Deepin Tool Kit)並添加眾多基礎工具庫
V3.0
初步支持Windows、Mac系統。
套用於DDE桌面環境底層開發
實現通用開發框架
模組化:dxcb / dtkcore / dtkwidget / dtkwm
V4.0
實現同源異構,同步CPU架構
添加dtkgui,並廢棄dtkwm
V5.0
Deepin Tool Kit 改名為 Development ToolKit
支持UOS、Deepin作業系統
實現平台化,提供商店、簽名、開發工具、IDE外掛程式
運行環境
作業系統
Windows,IOS,UOS,KOS,Linux各發行版(如Debian,Ubuntu)
軟體環境
- gtk+-2.0
- mtdev
- libqtxdg
- Qt5-Core
- Qt5-Gui
- Qt5-Widgets
- Qt5-DBus
- Qt5-Multimedia
- Qt5-MultimediaWidgets
- Qt5-Svg
- Qt5-OpenGL
- Qt5-X11extras
- Qt5-Core-Private
- Qt5-Widgets-Private
指令集環境
X86,ARM,MIPS