Qt 開發者討論將Qt 5 代碼移植到Qt 6 的工具
雖然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 的採用率,不妨拭目以待。