Qbs 2.0 組裝工具發布

引入了 Qbs 2.0 構建工具版本。 要構建 Qbs,需要 Qt 作為依賴項,儘管 Qbs 本身旨在組織任何項目的組裝。 Qbs 使用簡化版的 QML 語言來定義項目構建腳本,它允許您定義相當靈活的構建規則,其中可以連接外部模塊,可以使用 JavaScript 函數,可以創建任意構建規則。

Qbs 中使用的腳本語言適用於通過 IDE 自動生成和解析構建腳本。 此外,Qbs 不生成 makefile,並且它自己在沒有 make 實用程序等中介的情況下控制編譯器和鏈接器的啟動,根據所有依賴項的詳細圖表優化構建過程。 項目中結構和依賴關係的初始數據的存在使您可以有效地並行執行多個線程中的操作。 對於包含大量文件和子目錄的大型項目,使用 Qbs 的重建性能可以比 make 好幾倍——重建幾乎是瞬時的,不會讓開發人員花費時間等待。

回想一下,2018 年,Qt 公司決定停止開發 Qbs。 Qbs 是作為 qmake 的替代品而開發的,但從長遠來看,最終決定使用 CMake 作為 Qt 的主要構建系統。 Qbs 的開發現在作為一個獨立項目繼續進行,得到社區力量和感興趣的開發人員的支持。 Qt 公司的基礎設施繼續用於開發。

版本號的重大變化與新 JavaScript 後端的實現有關,它取代了 Qt 6 中棄用的 QtScript。由於與 JavaScriptCore 的複雜綁定,繼續單獨維護 QtScript 被認為是不現實的,因此自我-sufficient 和 compact 被選為新的後端 QuickJS JavaScript 引擎的基礎,該引擎由 Fabrice Bellard 創建,他創建了 QEMU 和 FFmpeg 項目。 該引擎支持ES2019規範,在性能上明顯優於現有同類產品(XS 35%,DukTape XNUMX倍以上,JerryScript XNUMX倍,MuJS XNUMX倍)。

從構建腳本開發的角度來看,向新引擎的過渡不應導致明顯的變化。 性能也將保持大致相同。 在差異中,新引擎對空值的使用有更嚴格的要求,這可以揭示現有項目中使用 QtScript 時未註意到的問題。

來源: opennet.ru

添加評論