雖然 Qt 作為開源專案的未來還不太清楚,但現在看來一切都在順利推進中。Qt 開發團隊的郵件列表顯示他們正在討論一個將 Qt 5 程式碼移植到 Qt 6 的工具。此工具基於 Clang,可幫助開發者自動將所有 Qt 5 語法轉換為與 Qt 6 相容。
如果這個工具能夠在很大程度上將大多數 Qt 5 程式碼轉換為 Qt 6 相容的用法,那麼它就可以極大地幫助提升 Qt 6 的採用率。
Qt 公司的 Vitaly Fanaskov 認為官方應該提供基於 Clang 的工具,將使用者的程式碼庫(半)自動移植到新版本的 Qt 上。這些工具可能還需要具備對程式碼進行修復的功能,或者至少在可能存在問題的地方新增一個註釋,以便使用者對程式碼進行修正。修改 API 的開發者也應該為這些工具實現一個規則。當然也需要稍微調整一下 API 設計指南。
如果確實能夠(半)自動將 Qt 5 程式碼轉換為 Qt 6 程式碼,或者至少降低編碼的門檻,這無疑是一個有趣的概念。LLVM/Clang 已經被用於自動程式碼格式化、程式碼翻譯和其他創新用例,所以這並非不可能的事情。但目前還沒有人真正寫出這個實用程式,也不清楚 Qt 公司自己是否打算這麼做。
反對這個提議的觀點是,Clang 無法編譯所有使用 Qt 的程式碼庫,所以它不能通用,而且這種轉換程式碼也還沒有被寫出來。除此之外,自動生成的程式碼也往往不如手寫的程式碼好。Qt 6 將在2020年年底首次亮相,這個提議是否會被採用,又能否提升 Qt 6 的採用率,不妨拭目以待。
[admin
]