Qt全球峰會2023中國站 參會概要

Qt全球峰會2023中國站 參會概要

  • 前言
  • 峰會議程
    • 簽到 & Demo 演示
    • 開場致辭
    • Qt Group 產品總監演講(產品開發的趨勢-開放的軟件、工具和框架)
        • 產品戰略
        • QtQuick or QtWidgets(c++ or qml)
        • Qt如何定義AI
        • 個人看法
    • Qt 在券商數字化轉型和信創改造中的創新實踐
    • Qt產品路線圖
        • 關于Qt版本
    • Qt 賦能STM32 MPU 人機界面應用 - 助力用戶構建強大高效的 GUI
  • 下午場是分論壇進行,我反復切換,只選擇了感興趣的
    • 非零和博弈的 HMI 開發流程
        • 何為產品經理
        • 零和博弈(具體到汽車行業)
    • 銀河麒麟 Qt 框架源碼級桌面實踐分享
        • Qt 的看護難度(不是很理解該用詞)
        • 與 Qt 商業版本合作的原因
        • 疑難問題修復
        • Qt 工作構想
    • 使用靜態代碼分析工具提升軟件質量(手機拍照,將就著看)
    • Qt + OneOS 提升客戶 HMI 產品開發體驗
    • Qt Wayland 最新進展
    • 如何在新的硬件平臺上運行 Qt for MCUs
        • 為什么要在 MCU 上使用 Qt ?
        • 官方現已適配超過35款MCU(拍的實在糟糕,但這些都是公開的資料)
  • 紀念品照片
  • 個人對 Qt 的看法

前言

在今年三月份的某一天,意外的發現,我所關注的公眾號“Qt軟件”,頭像由原本清新的綠色變為了厚重的黑色
在這里插入圖片描述 在這里插入圖片描述習慣了清新綠的我有些奇怪,正好 Qt 在我常使用的 B站 有運營著活躍的官方賬號,于是嘗試在該賬號的視頻下留言“logo由綠變黑是有什么寓意嗎?”,得到了如下回復:
在這里插入圖片描述
再進入Qt官網查看,發現已由 Qt Company 變為了 Qt Group,驚覺自己對 Qt 的認知還停留在從前,于是在九月下旬得到Qt全球峰會中國站在上海召開的消息推送時,第一時間報名,最終審核成功,有幸參與了 Qt全球峰會2023中國站,本人并不是一位資深的軟件工程師,今天只是站在一個普通開發者的角度,記錄此次會議的概要,發表下個人愚見。

峰會議程

此次峰會,上午場為全體大會,下午場以分論壇方式舉行,分為 嵌入式開發桌面/移動端開發 兩個專場
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

簽到 & Demo 演示

峰會地址是上海萬豪虹橋大酒店,會場還是很好找的,簽到完成,獲得吊牌,再送幾本宣傳冊

在這里插入圖片描述

開場致辭

Qt Group亞太區副總裁致辭,全英文無翻譯…

Qt Group 產品總監演講(產品開發的趨勢-開放的軟件、工具和框架)

產品戰略
  • 總體而言,Qt的產品戰略為:公開的工具、開放的框架,專注于優化產品開發流程;
  • 軟件開發方面,使其他部門無縫銜接入產品的開發流程中,QA工具為產品的質量做了保證;
  • 相信開放工具戰略,積極擁抱第三方(如 Qt 6 擁抱 cmake)
  • QtCreator 的目標是穩定的API,開放插件生態,集成更多有趣的功能
  • 開放的框架戰略,并不是要兼并所有,而是包容的思想(如在已有的軟件基礎上,使用Qt進行組合)
QtQuick or QtWidgets(c++ or qml)

這真是個老話題了,我已經不想多討論,直接粗暴的使用一個經典言論:你的軟件使用鼠標比較多就選擇widgets,觸屏操作多就選擇quick;這句話適用于大部分場景。

Qt如何定義AI

生成式的AI并不能確保質量,生成越多,測試工作就越多(由此引出了Qt 的 COCO7工具),
AI是增強性的功能,而不是主導性的功能。

個人看法

在很多開發者的認知中,Qt 只是一個開發框架,一些新的用戶甚至可以說出“Qt是一個UI庫”這樣的言論;在我看來,按照 Qt 目前的布局,它將是一個全套的解決方案。

Qt 在券商數字化轉型和信創改造中的創新實踐

由國泰君安的一位員工(title就不提了)分享Qt在金融證券行業的案例,該行業中的投資者對軟件響應速度有一定要求,以及大量用戶使用MacOS、Linux、國產操作系統(跨平臺需求)

  • 國泰君安2002年推出全行業首家全自研網上交易終端(基于Delphi)
  • 2015年8月:行業首發一戶通賬戶體系的融合金融終端
  • 2018年3月:啟動新框架調研
  • 2018年8月:完成PC端技術棧的調研,選擇Qt作為國泰君安新一代PC端主要開發框架
  • 2019年12月:完成整體基于Qt框架的MAC版富易(國泰君安網上交易專用系統)
  • 2021年7月:得益于選擇的Qt框架滿足信創要求,實現全行業首發上線支持國產系統版本富易
  • 2022年8月:基于Qt自研框架
  • 2023年12月:全面部署切換,日均在線用戶16萬,日調用量1億+

這是一個成功的案例,該公司無疑是開拓、進取且勇敢的。

Qt產品路線圖

獲悉Qt目前已有4800+萬行代碼,這個代碼量并不是只有Qt framework,包含了COCO單元測試工具、Squish UI自動化測試、Test center 平臺等;詳細的內容我建議直接去 Qt Group 看
在這里插入圖片描述

關于Qt版本
  • 當前的時間節點,Qt最近的長期支持版本是6.5
  • 目前用戶量最多的版本是Qt5.15,由于用戶量龐大,原定的LTS版本支持三年的計劃也延長了兩年
  • Qt6.6版本增加了很多特性
    • 用于權限管理的QML API
    • 優化對 Android 的支持
    • Style 的改進和優化
    • Qt for web 的優化
    • 正在進行 c++ 20 的初步支持(這是令人激動的)
    • 未來考慮全面支持c++ 20
    • 異步I/O
    • 等等等等…
  • 下一個LTS版本將是Qt6.8,預計于2025年發布

Qt 賦能STM32 MPU 人機界面應用 - 助力用戶構建強大高效的 GUI

意法半導體和Qt深度合作,高性價比圖像解決方案


下午場是分論壇進行,我反復切換,只選擇了感興趣的


非零和博弈的 HMI 開發流程

抱歉,我沒有太多產品思維,也沒有汽車行業的經驗,純粹牛嚼牡丹在這里插入圖片描述在這里插入圖片描述
在這里插入圖片描述

根據我拍下的照片,抄錄下一些概念:

何為產品經理

產品經理是負責監督產品或一系列產品在其生命周期中的開發和管理的專業人士;他們在定義產品策略、設定優先事項,并指導產品開發過程中起著至關重要的作用。

零和博弈(具體到汽車行業)
  • 在工作流程中,總有一方會在一個周期內贏得主導權,然后突然出現某個觀點,然后下一次就輪到另一方接管
  • 在設計和開發開始整合時,我們聽到了很多抱怨,整個迭代過程中充滿了摩擦
  • 當他們開始考慮將其復用并擴展到其它車型時,整個代碼庫得支持變的難以為繼,甚至難如登天,最終導致了延遲,最初高利潤的計劃變成了一場白日夢

銀河麒麟 Qt 框架源碼級桌面實踐分享

銀河麒麟桌面操作系統中,Qt 起到承上啟下的作用,系統層次從上往下依次是:

  • 業務應用:圖形化應用程序
  • 桌面環境:任務欄、文件資源管理器等
  • 應用運行時:Qt
  • 基礎庫環境:Glibc、FFmpeg、openssl、bluez、DBus、alsa…
  • 硬件環境
Qt 的看護難度(不是很理解該用詞)

以某版本為例,統計了 Qt 開發模塊數、API數量、目前社區未解決bug數量(兩千多個,數據似乎很驚人),同時要求了工程指標;

與 Qt 商業版本合作的原因
  • 產品質量得到保證
  • 促進生態
  • 從 Qt Group 可獲得高質量的技術支持服務
  • 通過培訓以及共同排查問題的過程,提高研發實力

任何選擇,你最好都有你的理由。

疑難問題修復

麒麟系統級開發,遇到的問題不常見,太細節了,在此就不放了,只說一個常見的:Qt 版本升級引發的兼容性問題。麒麟遇到這個問題的原因是由于Qt public API 的兼容性保證,升級前過于樂觀,升級后出現大量問題,原因是 private API 兼容性欠佳;(一些邪惡的軟件工程師喜歡用Qt private 模塊,hhhhh,狠狠的敲打)

Qt 工作構想
  • 構建多平臺一致的 Qt 使用方法,提高生態適配效率
  • 為 Qt 應用開發各環節賦能,提高產品質量

很好的愿景,第一條的解讀:如 windows 系統上 Qt 開發,直接下載 Qt 提供的預編譯包即可,即使安裝多個版本也無妨,而在 Linux 下情況是不同的,不熟悉 Linux 環境的開發者,會浪費一些時間在這上面(更遑論Linux發行版錯綜復雜),徒增心智負擔。

使用靜態代碼分析工具提升軟件質量(手機拍照,將就著看)

軟件開發過程中,如果沒有采取積極的措施,軟件的復雜性/功能性將越來越快地增長,稱之為“軟件侵蝕”,我們需要阻止它
在這里插入圖片描述

重構:功能性不變,從工程角度提升技術架構和質量;持續的重構,可改善軟件侵蝕
在這里插入圖片描述
在實踐中,這是難以實現的,預算、時間、風險都是企業無法接受的,最終很難改善問題
在這里插入圖片描述

  • 重構是個很好的辦法,只是作為集中式的任務來說有點困難
  • 把它分散到更小的迭代中
  • 預算、時間、風險雖然仍存在,但可以通過日常任務的方式來處理,類似敏捷開發方法
  • 使用 Axivion 進行 CI(持續集成)中的靜態代碼分析(圖窮匕見)
    在這里插入圖片描述

Qt + OneOS 提升客戶 HMI 產品開發體驗

OneOS 自上至下抽象為:

  • 應用場景
  • 組件層
  • 框架層
  • 內核層
  • BSP/Driver
  • 硬件層
    OneOS 框架層選擇了 Qt for MCUs 作為開發框架,以下直接展示產品:
    在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

Qt Wayland 最新進展

  • linux 桌面正在遷移到 Wayland
  • gnome 推動 Wayland
  • KDE 6.0 全面支持 Wayland(將于今年開發完畢,KDE 加油!)

齊亮大佬云淡風輕的從 X-Server 為引,圍繞 Compositor 講解 QtWayland,讓我汗流浹背(差距太大了)

如何在新的硬件平臺上運行 Qt for MCUs

以下直接摘自演講者PPT,本人對 MCU 并不太了解,侵刪

為什么要在 MCU 上使用 Qt ?
  • 使用 MCU 的優勢
    • 便宜:通常比 MPU 價格更低
    • 快速:啟動時間大大縮短
    • 可靠:復雜度更低,更容易保證健壯性
    • 高效:更容易快速實現大規模生產
  • 原生 API 開發的劣勢
    • 開發效率低:缺乏抽象層,很難開始開發,驗證調試復雜
    • 廠商綁定:每家都有各自的 API 和配置,純體力勞動
  • 使用 Qt 解決了哪些問題
    • 簡單:Design Studio 和 QML 適用于設計師和 TA
    • 可擴展性:應用很容易在不同供應商的 MCU 和板卡之間遷移
    • 支持:完善的文檔和眾多示例以及本地化支持
官方現已適配超過35款MCU(拍的實在糟糕,但這些都是公開的資料)

在這里插入圖片描述

  • 在 MCU 上使用 Qt 非常簡單,而且不會被鎖定在某個 MCU 供應商或特定板卡上
  • 你可以在一個官方支持的平臺上試用,然后根據自己選擇的 MCU 進行定制
  • 移植的步驟都有詳細記錄,你可以按照步驟進行

紀念品照片

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

個人對 Qt 的看法

  • 使用 Qt 的時間也不短了,算是一個 Qter,猶記得第一次使用 Qt show 出一個窗口時激動的心情;我很愿意相信,Qt 為 c++ 煥發了活力,c/c++ 的學習是枯燥的,很多人學習 c++ 時都是對著冰冷的終端,無情的打印字符,做不出任何東西,得不到正反饋,很難不讓人自我懷疑。
  • Qt 簡化了 c++ 的使用,見到很多初學 Qt 的學生或是跨行業選手,在連 c++ 基本語法(基本語法不作具體定義,大家伙別太魔怔)都認不全的情況下,使用 Qt 做出了簡單的項目,且能夠不出巨大的紕漏,頗有 “舊時王謝堂前燕,飛入尋常百姓家” 的意味;我本人也比較感激 Qt,它讓我平滑的學習了 c++。
  • 而今,Qt Group 有了更遠大的目標,一方面,Qt 公司較小的體量,維持著龐大的產品線,令人擔憂;另一方面,似乎很多優秀的作品都是由小而美的團隊完成,太多人的意見也會讓事情變壞;這很難評價。
  • Qt 的多重授權、發律師函、以及嵌入式上 LGPLv3 協議的不明確解讀頗受詬病,期望未來能夠有更好的商業化策略。
  • 不管怎樣,希望它越來越好。

最后,讓我們一起讀出 “Qt”(同 cute 讀音)。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/162770.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/162770.shtml
英文地址,請注明出處:http://en.pswp.cn/news/162770.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【MySQL】內連接和外連接

內連接和外連接 前言正式開始內連接外連接左外連接右外連接 前言 前一篇講多表查詢的時候講過笛卡爾積,其實笛卡爾積就算一種連接,不過前一篇講的時候并沒有細說連接相關的內容,本篇就來詳細說說表的連接有哪些。 本篇博客中主要用到的還是…

快速去除Word文檔密碼,全面解決你的困擾

如果你忘記了Word文檔密碼,或者想解密和去除Word文檔密碼,下面是簡單步驟:第一步,百度搜索【密碼帝官網】找到官方網站;第二步,點擊“立即開始”,進入用戶中心,上傳需要解密的文件。…

中部A股第一城,長沙如何贏商?

文|智能相對論 作者|范柔絲 長沙的馬路,都很有故事。 一條解放西路,是全國人民都爭相打卡的娛樂地標;一條太平街,既承載了歷史的厚重又演繹著現代的鮮活...... 但如果來到河西的桐梓坡路,風景會變得截然不同。 沿…

應用軟件安全編程--28SSL 連接時要進行服務器身份驗證

當進行SSL 連接時,服務器身份驗證處于禁用狀態。在某些使用SSL 連接的庫中,默認情況下不 驗證服務器證書。這相當于信任所有證書。 對 SSL 連接時要進行服務器身份驗證的情況,示例1給出了不規范用法(Java 語言)示例。示例2 給出了規范用法(J…

安裝MySQL搭建論壇

課前默寫: 1、nginx配置文件的區域有哪些 ①全局區域 ②events區域 ③http區域 2、區域模塊的作用 全局區域模塊主要是用戶和工作進程 events區域模塊配置最大連接數時需先配置:vim /etc/limits.conf 因為系統默認最大是1024 http區域模塊:代理地…

BUUCTF [HBNIS2018]excel破解 1

BUUCTF:https://buuoj.cn/challenges 題目描述: 得到的 flag 請包上 flag{} 提交。來源: https://github.com/hebtuerror404/CTF_competition_warehouse_2018 密文: 下載附件,得到一個attachment.xls文件。 解題思路&#xff…

計算機視覺的應用19-基于pytorch框架搭建卷積神經網絡CNN的衛星地圖分類問題實戰應用

大家好,我是微學AI,今天給大家介紹一下計算機視覺的應用19-基于pytorch框架搭建卷積神經網絡CNN的衛星地圖分類問題實戰應用。隨著遙感技術和衛星圖像獲取能力的快速發展,衛星圖像分類任務成為了計算機視覺研究中一個重要的挑戰。為了促進這一…

git的用法

目錄 一、為什么需要git 二、git基本操作 2.1、初始化git倉庫 2.2、配置本地倉庫的name和email 2.3、認識工作區、暫存區、版本庫 三、git的實際操作 3.1 提交文件 3.2 查看git狀態以及具體的修改 3.3 git版本回退 git reset 3.1 撤銷修改 四、git分支管理 4.…

vue el-table (固定列+滾動列)【橫向滾動條】確定滾動條是在列頭還是列尾

效果圖&#xff1a; 代碼實現&#xff1a; html&#xff1a; <script src"//unpkg.com/vue2/dist/vue.js"></script> <script src"//unpkg.com/element-ui2.15.14/lib/index.js"></script> <div id"app" style&quo…

【數據結構】樹如何定義 | 如何存儲 | 實際應用

前言 如上圖&#xff0c;A中的孩子的個數是不固定的。我們無法精確的每個不同的根結點有多少個孩子。所以并不能精確知道需要定義多少個孩子節點。 struct TreeNode {int val;struct TreeNode* child1;struct TreeNode* child2;struct TreeNode* child3;//...//這樣顯然是不能…

springboot 攔截器中使用@Value注解為null

攔截器中獲取配置參數為null 代碼如下&#xff1a; 解決方式一&#xff1a; 檢查你的WebMvcConfigurer實現類&#xff0c;比如我的是CCBWebMvcConfig 將攔截器以bean的形式注入&#xff1a; 我之前的寫法是new 一個放進去的&#xff0c;這種會導致Value為null AutowiredJSCCB…

2014年10月6日 Go生態洞察:Go在Google I/O和Gopher SummerFest的應用

&#x1f337;&#x1f341; 博主貓頭虎&#xff08;&#x1f405;&#x1f43e;&#xff09;帶您 Go to New World?&#x1f341; &#x1f984; 博客首頁——&#x1f405;&#x1f43e;貓頭虎的博客&#x1f390; &#x1f433; 《面試題大全專欄》 &#x1f995; 文章圖文…

《微信小程序開發從入門到實戰》學習二十七

3.4 開發參與投票頁面 3.4.2 借用偽造數據開發功能 為了便于開發&#xff0c;新建一個編譯模式&#xff1a; 之前沒看文章&#xff0c;每次都習慣性填完投票創建的信息提交再跳轉看效果。好累。 添加變異模式開發真方便。 另外&#xff0c;點擊提交后沒跳轉到投票頁面&#…

xorm源碼學習

文章目錄 XORM源碼淺析及實踐ORMORM vs. SQLXORM軟件架構 ORM 引擎 Engine——DBM*core.DB Golang&#xff1a;database/sql 源碼基本結構連接復用&#xff0c;提高性能。增加數據庫連接池數量連接管理 database/sql主要內容&#xff1a;sql.DB創建數據庫連接sql.Open()DB.conn…

Spring——感謝尚硅谷官方文檔

Spring——尚硅谷學習筆記 1 Spring簡介&#x1f47e;1.1 Spring概述1.2 Spring Framework1.2.1 Spring Framework特性1.2.2 Spring Framework五大功能模塊 2 IOC-IOC容器思想&#x1f47e;IOC容器思想IOC在Spring中的實現 3 IOC-基于XML文件管理Bean&#x1f47e;3.1 準備工作…

2023亞太杯數學建模A題思路 - 采果機器人的圖像識別技術

# 1 賽題 問題A 采果機器人的圖像識別技術 中國是世界上最大的蘋果生產國&#xff0c;年產量約為3500萬噸。與此同時&#xff0c;中國也是世 界上最大的蘋果出口國&#xff0c;全球每兩個蘋果中就有一個&#xff0c;全球超過六分之一的蘋果出口 自中國。中國提出了一帶一路倡議…

數據庫實驗四 索引創建與管理操作

數據庫實驗四 索引創建與管理操作 一、實驗目的二、設計性實驗三、觀察與思考 一、實驗目的 (1) 理解索引的概念與類型。 (2) 掌握創建、更改、刪除索引的方法。 (3) 掌握維護索引的方法。 二、設計性實驗 在數據庫job下創建worklnfo表。創建表的同時在id字段上創建名為inde…

【HarmonyOS】元服務卡片本地啟動拉起加桌沒問題,上架后拉起加桌時卡片展示異常

【關鍵字】 加桌選卡展示異常 、 2卡共用一個布局 、 代碼混淆 【問題現象】 元服務卡片在本地啟動拉起加桌時&#xff0c;多卡的選卡過程顯示是沒問題的。但是在上架后拉起加桌時&#xff0c;多卡的選卡過程卡片展示異常。 代碼邏輯是通過創建卡片的時候判斷卡片的尺寸大小…

數據結構與算法編程題13

設計算法將一個帶頭結點的單鏈表A分解為兩個具有相同結構的鏈表B、C&#xff0c;其中B表的結點為A表中值小于零的結點&#xff0c;而C表的結點為A表中值大于零的結點&#xff08;鏈表A中的元素為非零整數&#xff0c;要求B、C表利用A表的結點&#xff09; for example: A -1 2 …