随着Qt 6.1的发布,是时候讨论一下2021年我们将为Qt用户带来什么了。小编将介绍Qt框架计划,然后聊聊我们目前正在开发的工具和其他项目。和之前一样,很多项目都在推进中,不可能在一篇博文中面面俱到,但我会尽量给出一个恰当的展望。
Qt 6.0
经过长时间努力,2020年12月,我们发布了全新的Qt主要版本,为未来十年的需求提供了全新基准,与Qt 5高度兼容以确保迁移尽可能平稳。
如您尚不了解Qt 6的功能,推荐读一下三份内容:Qt 6.0正式发布、Qt 6的技术概览,以及Qt 6的技术规格。
为了方便Qt 5用户开始使用Qt 6.0,我们已编写了迁移指南,并针对Qt 6更新了我们的文档。
我们通过Qt 6.0提供一个稳定基准,支持所有最广泛使用的桌面、移动和嵌入式平台。Qt 6.0提供了所有基本模块和最常用的附加模块,Qt 6.1和Qt 6.2 LTS版本将提供了多的附加模块。
Qt 6.0提供了以下基本和附加模块:
· Qt Concurrent
· Qt Core
· Qt Core Compatibility APIs
· Qt D-Bus
· Qt GUI
· Qt Help
· Qt Network
· Qt OpenGL
· Qt Print Support
· Qt QML
· Qt Quick
· Qt Quick 3D
· Qt Quick Controls
· Qt Quick Layouts
· Qt Quick Timeline
· Qt Quick Widgets
· Qt Shader Tools
· Qt SQL
· Qt SVG
· Qt Test
· Qt UI Tools
· Qt Wayland
· Qt Wayland Compositor
· Qt Widgets
· Qt XML
· Qt 3D
· Qt Image Formats
· Qt Network Authorization
· M2M package: Qt CoAP
· M2M package: Qt MQTT
· M2M package: Qt OpcUA
如果您未找到所需模块,可能出于以下原因:
· 它是Qt 6.1和Qt 6.2 LTS附带的附加库之一,后文将提及
· 已被特意从Qt 6中移除(例如Qt KNX、Qt Script和Qt XML Patterns)
· 该功能(将)成为其他模块的一部分,因此不再需要是单独模块(例如特定平台的附加模块)
· 我们打算在Qt 6.2 LTS之后推出
· 不属于Qt框架,例如工具(Qt Creator、Qt Design Studio),Qt Safe Renderer,Qt for MCUs等等。
我们已尽可能简化向Qt 6的迁移,但是某些变化会影响从Qt 5移植到Qt 6。迁移到Qt 6时,请注意一些旧API已被移除,一些新API被引入。如果某功能被故意删除,您可能需要对应用程序做相应修改,这份移植指南可帮助您。
Qt 6.1
Qt 6.1将于5月初发布,您可以在Qt 6.1 Wiki页面查看新功能。
Qt 6.0引入了程序包管理器来获取附加库,Qt 6.1中,我们决定在这点上退后一步。Qt 6.1中通过一套二进制库安装器来提供扩展模块和基础模块。我们将继续使用程序包管理器功能,并力争以后重新将其引入——与Qt 6.0相比,提供更好的开发者体验。
我们为Qt 6.1提供了以下附加库:
· Active Qt
· Qt Data Visualization
· Qt Charts
· Qt State Machines
· Qt Lottie
· Qt Virtual Keyboard
· Qt for Device Creation: Qt Device Utilities
· 兼容性: Qt Graphical Effects
Qt 6.1加入了全新的重要功能,在许多基本模块(核心、图形用户界面、网络等)中提供了更新,并为整个框架中做了小修复。我们还在Qt 6.1中增加了Qt Quick 3D的新功能,以及实例化渲染和3D particles等新功能的技术预览版。
Qt 6.2 LTS
Qt 6.2 LTS计划于2021年9月底发布。这是Qt 6系列的第一个长期支持版本。开源版用户和商业版用户都将收到Qt 6.2.0和所有Qt 6.2.x补丁直到Qt 6.3.0发布(2022年上半年)。Qt 6.3发布后,仅商业版用户可收到Qt 6.2的后续修补。
我们计划在Qt 6.2 LTS中提供以下附加库:
· Qt Bluetooth
· Qt Multimedia
· Qt Positioning
· Qt Quick Dialogs
· Qt Remote Objects
· Qt Sensors
· Qt SerialBus
· Qt SerialPort
· Qt WebChannel
· Qt WebEngine
· Qt WebSockets
· Qt WebView
· Qt NFC
· Qt Application Manager
· Qt Interface Framework (原名 Qt IVI)
除了移植附加库到Qt,我们还在开发一些重要的新功能以提升Qt 6.2对用户的价值。对于图形和图形界面,我们力争完善和改进Qt 6.1中引入的技术预览版功能,使其得到完全支持。我们正在改进流程和工具,以便更轻松地创建出色的2D和3D用户界面,并能在桌面端、移动端和嵌入式平台上运行出色。我们还在Qt 6.2上改进非图形模块,以提升性能、方便用户、更好地与我们的工具集成。
我们有许多平台更新和对新平台的支持,我们的目标始终是支持最新版的操作系统和编译器。基于 ARM的Apple Silicon/macOS将是Qt 6.2支持的最有趣的新平台之一。在Rosetta编译环境中运行Qt应用已成为可能,并且某些功能现在也已可以在本地运行。我们希望Qt 6.2能完全支持基于ARM的macOS,不仅是开发平台也是部署目标设备。Qt 6.2 LTS还将支持QNX和INTEGRITY实时操作系统。
Qt 5.15 LTS
我们已进入Qt 5.15 LTS(仅限商业版阶段),并发布了Qt 5.15.3,这是仅限商业版用户的第一个补丁程序版本。下一个补丁程序版本已处于最后阶段,计划很快发布Qt 5.15.4。Qt 5.15 LTS的补丁程序将在今年和明年陆续推出,大约间隔两至三个月的节奏。
对于那些使用二进制安装程序的商业版用户而言,所有操作都和以前一样。可通过Qt安装程序获得专供商业版用户的新LTS补丁程序和即将发布补丁程序的预览版。如果需要访问开发资料库,可以访问LTS资料库(https://wiki.qt.io/Qt_5.15_Release#Getting_Source_Codes)。
Qt for MCUs和Qt Safe Renderer
现代微控制器具有良好的图形处理能力,可与不久前典型的主流嵌入式微处理器板所提供的功能相媲美。Qt for MCUs非常适合与恩智浦、意法半导体、瑞萨以及赛普拉斯/英飞凌的现代微控制器一起创建令人惊叹的视觉用户界面。
今年,我们已发布了两版Qt for MCUs,并正在为6月推出Qt for MCUs 1.9努力。目前,我们仅支持在Windows主机上使用Qt for MCUs,但Qt for MCUs 1.9将正式支持Linux作为开发主机。Qt for MCUs 2.0,即下一个主要版本,计划于9月发布,我们的目标是在今年12月发布Qt for MCUs 2.1。Qt for MCUs的开发使用QML语言的子集完成——即将推出的Qt for MCUs 2.0将为支持的QML语言子集提供与Qt 6.2的兼容性。
Qt Safe Renderer是我们经过功能安全认证的UI解决方案。它分别通过了道路车辆(ISO 26262:2018-6、2018-8至ASIL-D),铁路应用(EN 50128:2011 6.7.4至SIL 4),电气/电子/可编程电子安全相关系统(IEC 61508:2010-3 7.4.4至SIL 3)和医疗设备(IEC 62304:2015 2006 + A1)的认证。
去年我们一直在努力开发、全面测试Qt Safe Renderer 1.2。目前处于认证过程,并将很快发布。Qt Safe Renderer的新版本对渲染功能进行了多次更新,并扩展了对新平台的支持,请关注我们的后续进展更新。
Qt Creator和Qt Design Studio
在谈论框架库的工作,我们也应该聊聊工具。毕竟大多数用户在用Qt开发时都会用到它们,因此将它们保持一流状态至关重要。随着去年12月Qt 6.0的推出, Qt Creator和Qt Design Studio就提供相应支持。2021年,我们进一步改进支持,并开始支持Qt 6.1、Qt 6.2以及Qt for MCUs等其他产品的新特性和功能。
发布Qt 6.1同时,我们也将相继推出Qt Creator和Qt Design Studio新版本。Qt Creator 4.15和Qt Design Studio 2.1自然支持新的Qt 6.1,但也支持老版本。
我们计划在8月发布Qt Creator 5.0,作为Qt 6.2 LTS的基准,并在11月发布新版本,以改善开发者具。我们将在9月发布Qt Design Studio 2.2,以提供对Qt 6.2的设计师具支持,并在12月发布新版本。我们还致力于将这些工具紧密结合在一起,从而改善在项目中使用这两种工具的流程。其中某些改进已进入第二季度发行的版本,并在更多更新将于下半年完成。
质量保证工具
通过收购froglogic,我们正将产品稳固地扩展到质量保证工具领域。我们将进一步完善froglogic的关键产品线:GUI测试自动化,代码覆盖率分析和测试结果管理。我们将继续开发、改进这些产品。我们将研究未来与Qt产品整合的可能性,同时也会向非Qt用户提供这些解决方案。
上一条:自动化数据映射和数据准备的十大理由
下一条:芯片和软件开发资源短缺威胁下的互联设备革命