皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

Qt 2022年路线图

Qt 6.2 于2021 年 9 月发布,提供了 Qt 6 系列中的第一个长期支持 (LTS) 版本。随着 Qt 6.3 接近尾声,现在是思考 Qt 产品的下一步将是什么的好时机。

但首先,重要的是要声明,如果没有社区的大力支持,我们不会走到今天。贡献、报告和邮件列表讨论同样有益于为 Qt 公司带来不同的观点,引导我们满足共同需求,并解决需要改进的最大领域。感谢所有帮助我们使每个版本的 Qt 都比以前更好的人。在这篇文章中,我们将主要关注 Qt 公司为 Qt 所做的努力。有许多额外的项目来自个人贡献者以及生态系统中的公司。

使用 Qt 代表一个平台,有时很难识别投资组合中的单个资产。Qt 允许您创建任何类型的解决方案,从桌面开始,通过移动设备向下移动到低级嵌入式项目。甚至微控制器解决方案也可以通过Qt for MCU 实现。Qt 附带了许多支持创建解决方案的工具。从使用Qt Design Studio的 2D 和 3D 用户界面组合开始,在Qt Creator或其他 IDE 集成中进行开发,以及最近使用Froglogic 产品的QA 工具,它涵盖了整个软件开发生命周期。

在这篇博文中,我们将重点介绍框架功能。这很好地概述了您可以使用 Qt 创建的产品的新功能。对于我们的工具相关产品,我们将提供后续文章。

整个范围内的添加

让我们从那些同样有益于所有目标平台的添加开始。在将大多数使用的模块迁移到 Qt 6 之后,我们并没有就此止步。我们一直在听取来自各个角度、客户和社区的反馈。因此,我们一直在研究并将继续投资尚不可用的项目。

对于 Qt 6.3,Qt PDF已被移植,最初将提供给所有人。同样,Qt Speech目前正在开发中,我们可能会在稍后阶段看到重新引入。

此外,Qt Location已经收到来自Lauri Laanmets的重大更新,我们非常感谢他。这些变化是该领域持续努力的重要推动力。经过与客户和开源用户的各种讨论,我们已经完成了地图可视化解决方案的范围设置。这方面的努力将在今年下半年继续进行。由于这个话题在评论部分经常被提及,它值得单独发表一篇专门的帖子,我们将很快跟进这个话题。

Qt  2022年路线图

从单个模块开始,目标是在 Qt 产品组合中添加一个更重要的平台,即Qt for WebAssembly。WebAssembly是一项非常令人兴奋的技术,它在原生解决方案和 Web 解决方案之间架起了一座桥梁。它不仅有助于将您的本机用户界面引入网络。对于需要在视频编辑、图像识别、游戏等任务中获得终极性能的 Web 应用程序来说,它也是一个强大的推动者。Qt for WebAssembly 完美地满足了这些需求,并且已经处于技术预览状态有一段时间了。我们目前的重点将主要集中在完善测试功能,以便能够以用户期望的质量交付它。同样,我们将很快提供更多关于此的消息。

Qt  2022年路线图

我们一直在广泛讨论 Qt 6 的Qt Quick Compiler的引入,作为参考,请阅读我们的产品管理人员和开发人员的这些帖子 ( 3 )。在今年,这项工作将继续进行,并计划增加一些额外的功能。除了其他好处之外,Qt Quick Compiler 将减少评估绑定所花费的时间,并使 QML 通常更接近 C++ 以获得更好的性能。

尽管它只是稍微触及了框架,但QML 语言服务器支持即将推出,它为任何解析、重构和 linting 工作提供了一个中心工具。从 Qt Creator 集成开始,我们的目标是将 LSP 引入 Visual Studio AddIn 以及 Visual Studio Code。

为了简化开发环境的设置和学习其他编程语言,包管理器变得越来越重要。您可能已经阅读了我们支持柯南和通过柯南获取 Qt 的举措。同样从 IDE 的角度来看,关于如何简化工作流程的进一步更新即将推出。

在桌面上持续强势

Qt 从桌面开始,一直认为它是我们产品中的关键组件。不仅很大一部分开发人员从桌面开始,狗粮对于保持我们的工具(如 Qt Creator、Qt Design Studio、Squish 等)以一流的质量工作很重要。

过去几年推出的大多数功能也有利于桌面和移动设备的使用,但有时最好特别突出这些细分市场的变化和新增功能。因此,让我们深入研究这些部分中的内容。所有主要平台、 Windows和macOS

都推出了新的操作系统版本。虽然Windows 11从开发的角度来看,这主要是一次迭代,Qt 已经处理了持续的支持,并确保您的应用程序与最新的 Windows 以及 Windows 10 一起工作。将实施对样式更改的进一步和更深入的更新。我们一直在努力支持基于 ARM 的 Windows,并将在新硬件上市时投入更多精力。在 Apple 硬件方面,最大的变化显然是Apple Silicon (M1) 架构的引入。从很早开始,Qt 6 就已经更新为支持部署到最新的 macOS 平台。

除了支持现有的一组功能和模块外,还有许多新功能即将推出。TreeViews和Calendar等组件与移动或嵌入式相比,在桌面平台上使用得更多。因此,根据您的反馈,这些已从 6.3 开始引入并集成到 Qt Quick Controls 中。此外,Qt Quick Dialogs一直在更新以更好地适应桌面平台的使用。关于大文本组件的显示已经发生了许多优化,例如 TextEdit。已经有管理 HiDPI 场景的更新,但我们将在该领域进一步改进,特别是在具有不同设置的多个监视器的场景中,包括不同的分数比例。

Qt 小部件在桌面平台上广泛使用,并且一直支持正常运行。此外,Qt Widgets 和 Qt Quick 之间的桥接使您能够使用两全其美。这主要发生在 QQuickWidget 周围。QQuickWidget将允许您将 Qt Quick 元素嵌入到基于小部件的桌面应用程序中。主要用例是将最新的用户界面功能与动画、硬件加速、着色器集成到您的项目中。此外,它还可以实现用户界面的平滑转换。很少有一个项目可以一次性彻底检查整个应用程序。我们也在围绕 RHI 和其他元素进行研究,但目前还没有具体的内容可以分享。

在移动平台上强调 Qt

在移动端,支持最新版本的Android和iOS。在获取最新版本的同时,决定要保持兼容性的版本可能会很费力。此外,存储需求最近一直在变化,Qt 将适应这些变化。

样式是使应用程序感觉原生的重要元素。因此,我们正在努力更新 iOS 样式,同时更新 Android 的 Material 样式和 Windows 的 Universal。

此外,额外的要求会使移动平台的开发变得复杂。我们目前正在研究如何改进权限管理一般来说。平台已经从静态描述演变为更动态的方法。每个用户都可以在运行时以精细的方式决定应用程序应该拥有一次或定期拥有哪些权限。这很好地展示了 Qt 对适当 API 的投资以提供帮助。身份验证是另一个需要研究的潜在因素。

有时您需要特定于平台的功能,而跨平台 API 无法满足您的需求。特别是对于 Android,一个例子是如何处理不同类型的后台任务和服务。当前的Qt 服务实现将被扩展以支持其他用例。Android 平台的最新添加内容,如丰富的内容插入、新的 Splash Screen API,以及IME 改进和对范围存储的支持将在 Qt 的下一个版本中得到改进。

加强嵌入式产品

对于嵌入式解决方案,Qt 将始终确保添加最新的参考设备。Qt 直接或通过整个供应商生态系统支持的硬件产品组合没有受到挑战,Qt 将确保保持这种状态。QBSP参考列表的最新补充正在或将用于 NXP i.MX8M (Plus)、STM32MP1、Nvidia Jetson AGX Xavier、瑞萨电子 RZ/G2L,并增加了对瑞萨电子 E3、H3、M3 的 Qt 6 支持。我们的目标是使用与 i.MX8 和其他参考平台相同的 Raspberry Pi 等创客场景的简单工作流程。此外,底层操作系统可以在您的产品设计中发挥重要作用。凭借对 QNX、Integrity 和其他实时操作系统的支持,Qt 为用户提供了完全的选择灵活性。最后,我们已经宣布并将继续支持WebOS 平台

除此之外,为您的嵌入式产品选择 Qt 很少只是一个 UI 决定。Qt 提供了许多模块来实现你的整个中间件层。Qt接口框架,以前称为 Qt IVI,使您能够将服务和后端连接到您的用户界面,后端和前端逻辑之间的清晰分离。虽然从历史上看,它一直非常关注汽车行业,但我们现在正在将功能集扩展到嵌入式平台,并将在我们的示例和文档中强调这一点。

很少有嵌入式产品是围绕一个中央 UI 应用程序设计的。相反,现代设计允许管理多个应用程序。Qt Wayland compositor以及Qt Application Manager将在这里对您有很大帮助。

在汽车领域,我们也在扩展和改进对Android Automotive的支持(AAOS 和 GAS)。Qt Android Automotive 继续与各种 Android API 集成,为开发人员提供更好的体验。我们在技术预览版中发布了一个新的 QML 组件,它允许在您的 Qt Android 应用程序中嵌入第三方 android 活动。此外,我们正在积极致力于提供易于使用的 API 和组件,以与第三方音乐/视频应用程序交互,并在您的 Qt Android 应用程序中读取通知并与之交互。不要忘记查看我们最新的演示: Qt  2022年路线图

 

在某些领域,安全性是您需要在堆栈中考虑的重要资产。Qt Safe Renderer允许轻松集成安全关键元素,已通过 ISO 26262 认证。我们将在今年晚些时候推出触控和多显示器支持等功能。

加速设计 – 开发工作流程

Qt 以其创建出色的图形用户体验和界面的能力而闻名并被广泛使用。到目前为止,本文的重点是围绕这一点的许多(迄今为止并非全部)元素。但当然,投资的很大一部分也发生在从 RHI 到通过任何硬件加速渲染到用于现代 UI 功能的高级 API 的整个图形管道中,以及为 Qt Design Studio 设计人员提供的工具。

Qt Quick 3D 允许通过独特的工作流程创建外观现代的应用程序和设备。在 Qt 6.0 最初引入之后,我们一直在添加许多功能,如粒子、实例渲染、网格变形等。Qt 6.3 将带来实时反射、资源管理 API 和新效果。但我们不会止步于此。

根据客户反馈,将围绕物理集成和碰撞检测进行额外开发。我们将围绕着色器创建和渲染增强改进我们的工具。此外,该引擎还获得了有关项目分析的更多功能,以查明潜在的瓶颈并优化产品的性能。

所有这些功能都将被我们为设计师和开发人员提供的额外工具所包围。

还有更多……

正如最初提到的,Qt 涵盖了大量的开发项目,并通过附加工具支持框架,用于产品创建的任何方面。

还有很多项目,我们希望我们有时间进一步讨论。例如,我们一直没有谈论云连接。一般来说,我们的目标是简化将您的 Qt 应用程序连接到云解决方案的过程,因为如今任何产品发明都采用连接优先的方法。使用 Qt 一切皆有可能,但我们对进一步简化工作流程有一些想法。诸如完成我们的 Qt HTTP 服务器、更好的协议缓冲区、gRPC 集成等个别项目值得我们在未来发布它们自己的文章。

今天我们也没有时间讨论 Qt 的另一个角度,即绑定和提供到其他语言,例如Qt for Python。当然,本文中提到的所有功能也都在此处得到隐式支持。但是,我们也有一些计划,让我们可以让 Python 世界的开发感觉更自然。Python 在嵌入式方面也越来越受到关注,我们正在研究 Qt 如何从一开始就在那里。

最后,Qt 公司还在开发与我们的核心产品相邻的新产品,并帮助我们的用户进行部署后设置。一个例子是最近推出的Qt 数字广告平台
你可以看到,Qt 有很多事情要做,我们很高兴能和你一起走这条路。

原文 https://www.qt.io/blog/qt-roadmap-for-2022