Qt QML應用框架
- 1 介紹
- 1.1 QML開發人員少分析
- 1.2 QML帶來前后端概念,與安卓web開發框架看齊
- 2 網上一些架構思路
- 2.1 多層架構
- 2.1.1 來源
- 2.1.2 多層架構的介紹
- 2.1.3 多層架構調整為Qt APP架構
- 2.2 Qt跨平臺開發
- 2.3 withFlux
- 3 自己思考
- 參考
1 介紹
1.1 QML開發人員少分析
Qt開發更多的是跨平臺,嵌入式,整體來說,這方向人不多,在此基礎上,用QML的著實少,Qt是一套框架,Qt開發本質也是C++開發,搞QML開發少,博主覺得一方面是C++開發看不上QML開發,一方面是怕搞QML開發榷訓自己的C++能力,就如博主目前手頭開發的專案,總代碼量在5萬行多,自己獨立寫的,C++部分比QML代碼多,其中C++部分不與HMI直接互動的都是Unix C++,與HMI互動的才用Qt的C++類,界面使用QML,一方面是采用Flux架構把核心業務邏輯部分能分離出來,不依賴Qt,后續可單獨維護,另一方面怕自己的Unix C++開發能力榷訓,
1.2 QML帶來前后端概念,與安卓web開發框架看齊
Qt開發初期,只有UI部分使用QWidget技術,該階段,極少提出前后端、全堆疊概念,QML引入后,使得Qt開發有了前后端的概念,然后網上就有將Qt的C++邏輯開發稱為后端開發,QML界面部分開發稱為前端開發,
傳統的前后端開發的框架,也就引入了Qt開發中,如Facebook的Flux架構、Twitter的Bootstrap框架,
- Flux作業流程圖

- Bootstrap框架圖

2 網上一些架構思路
2.1 多層架構
2.1.1 來源
A Multilayered Architecture for Qt Quick
2.1.2 多層架構的介紹
多層架構,各層職責明確,利于高內聚低耦合,
經典層如下:
- 表示層:可見的用戶界面
- 服務層:行程間通信,前端/后端橋等,
- 業務邏輯層:領域知識,業務規則等
- 資料訪問層:資料庫,網路,檔案等
2.1.3 多層架構調整為Qt APP架構
借鑒上述經典層,進行稍加修改,便可作為Qt app框架用:

該架構可輕松分離UI,便于UI切換(如切換為行程內Qt,遠程行程Qt,遠程HTML),
2.2 Qt跨平臺開發
程式原型簡單,用戶界面回應越快
檔案掛載網關上,從網關上加載
2.3 withFlux
QML Application Architecture Guide with Flux
3 自己思考
歸納出相同重復的,然后設計,
參考
1、A Multilayered Architecture for Qt Quick
2、Qt qml的軟體架構設計
3、Ben Lau–QML Application Architecture Guide with Flux
4、Ben Lau–Revised QML Application Architecture Guide with Flux
5、Ben Lau–Using Action-Dispatcher in QML
6、How to Avoid C++ Models in Qt and Why You Should Care
7、benlau/quickflux
8、Bootstrap框架圖
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/243988.html
標籤:其他
下一篇:2021年任務統計
