🔧 阿川の電商水電行
Shopify 顧問、維護與客製化
💡
小任務 / 單次支援方案
單次處理 Shopify 修正/微調
⭐️
維護方案
每月 Shopify 技術支援 + 小修改 + 諮詢
🚀
專案建置
Shopify 功能導入、培訓 + 分階段交付

想使用 Qt 卻覺得太貴… 你有這樣的想法嗎?

在這裡,我們將探討在開發具觸控螢幕的嵌入式 Linux 系統時,Qt 的價值及其替代方案。

Qt 貴的原因

Qt 是一個非常優秀的應用程式開發框架,提供了豐富的功能,不僅限於 GUI。因此,其價格也相對較高。

對於如同在汽車中完全使用 Qt 建置統合駕駛艙等用途來說,這是值得的,但對於簡單系統而言,很多不會使用到的功能也隨之附加進來,可能會讓人感到價格偏高。

此外,除了 Qt 本身,包含作業系統的解決方案、測試工具、諮詢等也常常捆綁銷售,最終使其價格容易上升。

並且,Qt 的價格逐年上升的趨勢也不容忽視。

那該怎麼辦?

採用開源版(LGPLv3)

如果是 B2B 產品,可以考慮以 LGPLv3 使用開源版的 Qt。
大部分 Qt 模組都是以 LGPLv3 提供。不過,有些模組僅能以 GPLv3 使用,需留意。

然而,Qt 的開源版並無LTS(長期支援),因此在選擇版本及更新策略上需多加謀劃。

開源使用時的貢獻

如果使用開源版,強烈建議以某種方式對 Qt 專案進行貢獻。

  • 跟隨最新的發行版
  • 提交錯誤回報
  • 提供錯誤修正的補丁
  • 積極發信使用 Qt
    (※但可能會被建議購買商用版)
  • 透過諮詢或培訓回饋生態系統

Qt 以外的選擇

考慮 Qt 以外的方案時,以 Rust 撰寫的 GUI 框架 Slint 是最有力的候選者。

  • Slint 是有償的,但價格低廉且已公開,因此可以安心採用
  • Slint 僅提供 GUI 部分,因此其他部分需用標準 C++ 開發
    • 但僅用標準 C++ 時功能常常不足,因此建議考慮使用 KDAB 的 KDUtils
  • 也可以選擇在邏輯部分採用 Rust

採用 Rust 的優勢

選擇 Rust 時,有以下幾點優勢。

  • 可以利用 Rust 龐大的生態系統(庫資源)
  • 雖然維護性有挑戰,但可以透過 Ferrous Systems 提供的 Ferrocene 解決
  • 採用 Ferrocene 可以實現符合功能安全認證的軟體
  • 雖然 Rust 的嵌入式工程師目前仍不多,但如果有 C/C++ 的經驗,學習並接受 Rust 的培訓 是可行的。

總結

當覺得商用版 Qt 價格過高時,可以考慮以下選項:

  1. 儘管價格高,但相信其價值仍然值得採用
  2. 策略性地利用開源版 Qt (LGPLv3)
  3. 以 Slint + C++/KDUtils 的組合進行開發
  4. 採用 Slint + Rust,充分發揮 Ferrocene 在安全性及生態系統上的優勢

每種選擇都有其利弊,但在開發具觸控螢幕的嵌入式 Linux 系統時,根據專案性質及所需支援程度選擇最佳路徑是至關重要的。

如有需要,隨時歡迎洽詢。


原文出處:https://qiita.com/task_jp/items/d30a1af4fca7781a1251


精選技術文章翻譯,幫助開發者持續吸收新知。

共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。
🏆 本月排行榜
🥇
站長阿川
📝12   💬8   ❤️4
562
🥈
我愛JS
📝3   💬10   ❤️7
196
🥉
AppleLily
📝1   💬4   ❤️1
68
#5
2
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次
🔧 阿川の電商水電行
Shopify 顧問、維護與客製化
💡
小任務 / 單次支援方案
單次處理 Shopify 修正/微調
⭐️
維護方案
每月 Shopify 技術支援 + 小修改 + 諮詢
🚀
專案建置
Shopify 功能導入、培訓 + 分階段交付