香港新天域互联@开发者讨论将 Qt 5 代码移植到 Qt 6 的工具


Qt 是一个跨平台的C++图形用户界面应用程序框架 。 它提供给开发者建立图形用户界面所需的功能 , 广泛用于开发GUI程序 , 也可用于开发非GUI程序 。 Qt是完全面向对象的 , 很容易扩展 , 并且允许真正地组件编程 。
虽然 Qt 作为开源项目的未来还不太清楚 , 但现在看来一切都在顺利推进中 。 Qt 开发团队的邮件列表显示他们正在讨论一个将 Qt 5 代码移植到 Qt 6 的工具 。 此工具基于 Clang , 可帮助开发者自动将所有 Qt 5 语法转换为与 Qt 6 兼容 。

香港新天域互联@开发者讨论将 Qt 5 代码移植到 Qt 6 的工具
本文插图

如果这个工具能够在很大程度上将大多数 Qt 5 代码转换为 Qt 6 兼容的用法 , 那么它就可以极大地帮助提升 Qt 6 的采用率 。
Qt 公司的 Vitaly Fanaskov 认为官方应该提供基于 Clang 的工具 , 将用户的代码库(半)自动移植到新版本的 Qt 上 。 这些工具可能还需要具备对代码进行修复的功能 , 或者至少在可能存在问题的地方添加一个注释 , 以便用户对代码进行修正 。 修改 API 的开发者也应该为这些工具实现一个规则 。 当然也需要稍微调整一下 API 设计指南 。
如果确实能够(半)自动将 Qt 5 代码转换为 Qt 6 代码 , 或者至少降低编码的门槛 , 这无疑是一个有趣的概念 。 LLVM/Clang 已经被用于自动代码格式化、代码翻译和其他创新用例 , 所以这并非不可能的事情 。 但目前还没有人真正写出这个实用程序 , 也不清楚 Qt 公司自己是否打算这么做 。
【香港新天域互联@开发者讨论将 Qt 5 代码移植到 Qt 6 的工具】反对这个提议的观点是 , Clang 无法编译所有使用 Qt 的代码库 , 所以它不能通用 , 而且这种转换代码也还没有被写出来 。 除此之外 , 自动生成的代码也往往不如手写的代码好 。 Qt 6 将在2020年年底首次亮相 , 这个提议是否会被采用 , 又能否提升 Qt 6 的采用率 , 不妨拭目以待 。


    推荐阅读