統信UOS應用開發詳解
統信軟件技術有限公司
- 出版商: 人民郵電
- 出版日期: 2023-01-01
- 定價: $888
- 售價: 8.5 折 $755
- 語言: 簡體中文
- 頁數: 587
- ISBN: 7115597340
- ISBN-13: 9787115597342
-
相關分類:
Qt、Operating-system
立即出貨 (庫存=1)
買這商品的人也買了...
-
$690$545 -
$780$616 -
$780$663 -
$450$356 -
$399$315 -
$4,280$4,066 -
$650$507 -
$1,200$948 -
$520$406 -
$750$675 -
$580$458 -
$479$455 -
$630$498 -
$331Flask Web應用開發項目實戰 基於Python和統信UOS
相關主題
商品描述
本書是統信 UOS 應用開發指南,包括 5 篇,共 16 章。背景知識篇介紹操作系統簡史以及國產操作系統;應用開發篇是本書的核心,包括開發設計原則、開發環境與開發工具、Qt 開發框架、DTK 開發框架、DTK 插件開發、服務開發、調試與性能優化;發布與部署篇介紹包格式、上架部署;桌面應用開發實戰篇介紹 6 個難度從初級、中級到高級的經典應用案例,以及系統接口案例;常見問題篇介紹內核與驅動、開發工具相關、常用資源,幫助讀者進一步提升開發水平。
本書內容全,理論與實踐相結合,語言表達清晰、簡潔,有利於讀者參考學習。
本書適合統信 UOS 的開發人員閱讀,有助於其系統掌握開發內容;也適合有志於參與統信生態構建的信創廠商、應用開發人員閱讀參考。
作者簡介
统信软件以“打造操作系统创新生态”为使命,由国内领先的操作系统厂家于2019年联合成立。公司专注于操作系统等基础软件的研发与服务,致力于为不同行业的用户提供稳定、智能易用的操作系统产品与解决方案。
目錄大綱
第 1 篇 背景知識
第01章 操作系統簡史
1.1 人工時代 003
1.2 批處理操作系統 003
1.2.1 聯機批處理操作系統 003
1.2.2 離線批處理操作系統 003
1.3 分時操作系統 004
1.3.1 UNIX 操作系統的誕生 004
1.3.2 可視化操作系統的演進 005
1.3.3 開源 Linux 的誕生與演進 005
第02章 國產操作系統
2.1 國產操作系統的必要性 007
2.2 國產操作系統統信 UOS 007
2.2.1 DDE 009
2.2.2 統信 UOS 生態環境 010
第 2 篇 應用開發
第03章 開發設計原則
3.1 同源異構 013
3.1.1 內核適配 013
3.1.2 ABI 兼容性 013
3.1.3 接口兼容性 014
3.2 兼容性原則 014
3.3 目錄權限規範 014
3.4 界面設計理念 015
3.4.1 為用戶而設計 015
3.4.2 設計解決的不是視覺問題 015
3.4.3 保持輕量 015
第04章 開發環境與開發工具
4.1 統信 UOS 的安裝 018
4.1.1 物理機單系統安裝 018
4.1.2 物理機多系統安裝 022
4.1.3 VirtualBox 安裝 023
4.1.4 統信 UOS 的基本使用 026
4.1.5 安裝軟件 028
4.2 常見的開發環境配置 029
4.2.1 DTK 開發環境 029
4.2.2 開發第 一個程序:HelloWorld 031
4.3 目錄結構設計 037
4.3.1 項目目錄規範 037
4.3.2 README 文件 037
4.4 版本控制系統 039
4.4.1 Git 基礎知識 039
4.4.2 安裝 Git 040
4.4.3 配置 Git 041
4.5 Git Flow 開發模型 042
4.5.1 主分支 043
4.5.2 輔助分支 043
4.6 版本號管理 044
4.7 統信 UOS 的開發者模式 044
4.7.1 潛在風險說明 045
4.7.2 開啟方法 045
第05章 Qt 開發框架
5.1 Qt 基礎模塊 048
5.1.1 Qt Core 048
5.1.2 Qt GUI 065
5.1.3 Qt Widgets 068
5.1.4 Qt Test 081
5.2 Qt 擴展模塊 091
5.2.1 Qt Concurrent 091
5.2.2 Qt BlueTooth 094
5.2.3 Qt D-Bus 097
5.2.4 Qt Image Formats 098
5.3 Qt WebEngine 概述 098
5.3.1 開發 Qt WebEngine Widgets 應用 099
5.3.2 開發與 Qt WebEngine 相關的
Qt Quick 應用 100
5.3.3 命令行參數 100
5.3.4 Qt WebEngine 其他說明 101
5.4 Electron 概述 102
5.4.1 Electron 開發環境 102
5.4.2 第 一個 Electron 程序 103
5.4.3 打包並分發第 一個應用 106
5.4.4 調試方法 106
5.5 常見問題 107
5.5.1 qmake 工程設置模塊之間的編譯依賴關系 107
5.5.2 CMake 工程設置模塊之間的編譯依賴關系 107
5.5.3 快速使用 QTimer 進行一次計時操作 108
5.5.4 Qt 單元測試發送事件到控件中 108
5.5.5 使用事件過濾器 111
5.5.6 信號和槽的連接參數 112
5.5.7 Qt 多線程常見使用方法 113
5.5.8 QWidget 坐標系的位置變換 114
5.5.9 Qt 版本區分 116
5.5.10 限制 QLineEdit 內容輸入 117
5.5.11 Qt 通過信號與槽傳遞自定義結構體數據 118
5.5.12 Qt 界面控件自動關聯信號與槽 119
5.5.13 QString 格式化字符串的使用 119
5.5.14 QDateTime 日期時間類的使用 120
第06章 DTK 開發框架
6.1 DTK 開發簡述 123
6.2 DTK 功能模塊介紹 123
6.3 DTK 程序框架創建 124
6.3.1 軟件環境配置和開發包安裝 124
6.3.2 創建 qmake 項目 125
6.3.3 創建 CMake 項目 127
6.4 DTK 圖形控件使用 128
6.4.1 dtkwidget 的 public 類簡介 128
6.4.2 DMainWindow 簡介 130
6.5 DTK 常用組件 137
6.5.1 佈局 137
6.5.2 進度、狀態指示 143
6.5.3 輸入框和編輯框 146
6.5.4 按鈕與選項 150
6.5.5 消息通知與提示 155
6.6 DTK 中的設置界面框架 159
6.6.1 簡介 160
6.6.2 示例 160
6.6.3 詳解 161
第07章 DTK 高級開發
7.1 插件的工作原理 167
7.2 dde-dock 插件開發 167
7.2.1 dde-dock 插件接口 167
7.2.2 dde-dock 插件開發過程 169
7.3 dde-control-center 插件開發 184
7.3.1 dde-control-center 插件開發的準備工作 184
7.3.2 dde-control-center 插件接口 184
7.3.3 構建 dde-control-center 插件 185
7.3.4 插件加載原理 191
7.4 dfm 插件開發 192
7.4.1 準備工作 193
7.4.2 屬性對話框插件 193
7.4.3 視圖插件 197
7.4.4 麵包屑插件 204
7.4.5 文件控制器插件 212
7.4.6 文件預覽插件 219
7.5 PAM 插件 226
7.5.1 PAM 工作流程 226
7.5.2 PAM 配置文件介紹 227
7.5.3 PAM 主要操作函數 230
7.5.4 PAM 標準接口介紹 231
7.5.5 實現一個 PAM 插件 231
7.6 瀏覽器插件開發 233
7.6.1 NPAPI 插件 233
7.6.2 插件安裝 234
7.6.3 插件識別 234
7.6.4 插件的生命周期 235
7.6.5 NAAPI 的插件開發 236
第08章 服務開發
8.1 systemd 服務開發 242
8.1.1 systemd 系統架構 242
8.1.2 unit 介紹 242
8.1.3 unit 管理 243
8.1.4 unit 服務配置文件 244
8.1.5 實例 245
8.1.6 systemd 調試 248
8.2 PolicyKit 服務開發 249
8.2.1 PolicyKit 系統架構 249
8.2.2 身份驗證代理 250
8.2.3 聲明操作 250
8.2.4 polkitd 252
8.2.5 pkcheck 252
8.2.6 pkaction 253
第09章 調試與性能優化
9.1 GDB 入門 256
9.1.1 何為 GDB 256
9.1.2 GDB 工作原理 256
9.1.3 調用和退出 GDB 256
9.1.4 GDB 基本命令 260
9.1.5 GDB 調試腳本 277
9.1.6 GDB 多線程調試 278
9.1.7 GDB 多進程調試 282
9.2 Qt Creator 中的調試和調優 286
9.2.1 代碼調試 286
9.2.2 性能調優 291
9.3 使用 perf 進行性能分析 294
9.3.1 用法 294
9.3.2 事件類型 295
9.3.3 示例 296
9.4 使用 gperftools 進行性能分析 306
9.4.1 編譯安裝 gperftools 306
9.4.2 TCMalloc 307
9.4.3 heap checker 307
9.4.4 heap profile 310
9.4.5 CPU profiler 314
9.5 使用 gprof 進行性能分析 316
9.5.1 編譯 profiling 程序 317
9.5.2 運行 profiling 程序 317
9.5.3 運行 gprof 318
9.5.4 gprof 輸出樣式 318
9.6 使用 Valgrind 與 Sanitizers 進行內存分析 321
9.6.1 Valgrind 321
9.6.2 Sanitizers 326
第 3 篇 發布與部署
第 10章 包格式
10.1 Debian 軟件包 335
10.1.1 Debian 軟件包概述 335
10.1.2 統信 UOS 系統安裝 Debian 包 337
10.1.3 構建 deb 軟件包 343
10.1.4 章節小結 358
10.2 RPM 358
10.2.1 RPM 軟件管理命令 358
10.2.2 DNF 包管理器 361
10.2.3 構建 RPM 包 366
10.3 依賴分析與處理 371
10.3.1 軟件包的依賴概述 371
10.3.2 UOS 系統上軟件依賴分析方法及原理 371
10.3.3 UOS 系統使用過程中如何處理依賴 374
10.3.4 UOS 開發過程中常見的依賴問題 379
10.3.5 章節小結 380
第 11章 上架部署
11.1 應用規範 382
11.1.1 目錄結構 382
11.1.2 權限規範 382
11.2 簽名 382
11.2.1 簽名機制 383
11.2.2 統信 UOS 應用簽名 385
11.2.3 簽名工具的使用 388
11.3 上架 389
11.3.1 應用商店介紹 390
11.3.2 準備工作 391
11.3.3 創建應用 392
11.3.4 上架 393
11.4 內網分發 393
11.4.1 私有化應用商店 394
11.4.2 部署流程 394
11.4.3 其他 398
第 4 篇 桌面應用開發實戰
第 12章 經典應用案例
12.1 初級:簡易文本編輯器 403
12.1.1 簡述 403
12.1.2 應用主要功能 403
12.1.3 “關於”界面 404
12.1.4 主業務視圖 408
12.1.5 標題欄 409
12.1.6 文本顯示編輯框及行號欄 414
12.1.7 底部欄 422
12.2 初級:計算器 426
12.2.1 簡述 426
12.2.2 應用主要功能 426
12.2.3 應用入口 427
12.2.4 應用主窗口內容添加 428
12.3 中級:相冊 437
12.3.1 簡述 437
12.3.2 圖片加載 437
12.3.3 縮略圖展示 438
12.3.4 大圖展示 442
12.4 中級:郵箱客戶端 444
12.4.1 簡述 444
12.4.2 郵件引擎 444
12.4.3 數據結構 446
12.4.4 實例 447
12.5 高級:影院 448
12.5.1 簡述 448
12.5.2 播放引擎介紹 448
12.5.3 播放引擎接口函數 449
12.5.4 實例 450
12.6 高級:音樂播放器 453
12.6.1 簡述 453
12.6.2 音樂引擎介紹 453
12.6.3 音樂播放接口 453
12.6.4 實例 455
第 13章 系統接口案例
13.1 定時任務 460
13.1.1 cron 簡述 460
13.1.2 systemd 簡述 460
13.2 設備訪問 462
13.2.1 攝像頭 462
13.2.2 揚聲器和麥克風 486
13.2.3 網絡 504
13.2.4 藍牙 511
13.3 通知接口的使用 520
13.4 托盤圖標 525
13.4.1 QSystemTrayIcon 類 525
13.4.2 實例 527
第 5 篇 常見問題
第 14章 內核與驅動
14.1 內核編譯 533
14.1.1 編譯 x86/ARM 內核 533
14.1.2 交叉編譯龍芯內核 533
14.1.3 AMD GPU 顯卡驅動源碼編譯 534
14.2 GPIO 534
14.2.1 數據結構 534
14.2.2 驅動初始化流程 535
14.2.3 示例 535
14.3 input 子系統 536
14.3.1 輸入設備驅動 536
14.3.2 應用示例 538
14.4 hwmon 子系統 539
14.4.1 hwmon 驅動 539
14.4.2 應用示例 541
14.5 LTP 542
14.5.1 LTP 執行原理 542
14.5.2 LTP 環境部署 542
14.5.3 安裝目錄 543
14.5.4 測試執行 543
14.6 驅動問題 543
14.6.1 網卡速度異常問題 543
14.6.2 USB 觸摸板 S3 喚醒問題 544
14.6.3 HDMI 熱插拔連接狀態錯誤問題 546
第 15章 開發工具相關
15.1 其他開發工具 552
15.1.1 VS Code 552
15.1.2 JetBrains 系列 IDE 555
15.1.3 Eclipse 558
15.2 其他語言開發環境搭建 561
15.2.1 Node.js 561
15.2.2 Go 564
15.2.3 Rust 566
第 16章 常用資源
16.1 DTK 接口簡要說明 570
16.1.1 DMainWindow 自定義快捷菜單 570
16.1.2 DApplication 接口函數 572
16.1.3 DTK 漢字轉拼音 572
16.1.4 DListView DViewItemAction::setwidget 用法 572
16.1.5 打印預覽 574
16.1.6 DAccessibilityChecker 的用法 575
16.1.7 自定義按鈕背景色 576
16.1.8 幫助手冊 577
16.1.9 日誌文件 578
16.1.10 系統信息 579
16.1.11 系統通知 580
16.1.12 DRegionMonitor 580
16.2 Linux 開發常用資源 582
16.2.1 libc 手冊 582
16.2.2 man 手冊 582
16.2.3 編輯器 584
16.2.4 工具 585
16.2.5 代理 586
16.2.6 網絡安全 586
16.2.7 文件共享 587
16.2.8 終端 587
16.2.9 圖形界面 588
16.2.10 數據備份與恢復 588
16.2.11 控制台 589
16.2.12 包管理工具 589