Qt 2021年のロードマップ

本記事は「Qt Roadmap for 2021」の抄訳です。
Qt 6.1のリリースを間近に控え、2021年はどのような製品を提供できるかをそろそろご紹介したいと思います。この投稿では、Qtフレームワークのさまざまな計画についてご紹介したのち、現在開発中の各種ツールなどにも触れていきます。いつものように、いくつものプロジェクトが同時進行しているため、一度の投稿ですべてをご説明するのは難しいところですが、できる限りの概要をお伝えできればと思います。

Qt 6.0

2020年12月には、長期にわたって開発を進めてきたQtのメジャーアップデートをリリースいたしました。これは、2020年代のニーズに応える新たな基盤であると同時に、Qt 5との互換性にも大変優れているため、非常にスムーズに移行していただけます。

Qt 6の特長や機能についてまだご確認いただいていない方はぜひ、Qt 6.0のリリースに関する投稿Qt 6のテクニカルビジョン、およびQt 6.0の主な特長をご覧ください。

さっそくQt 6.0を使いたいという方向けに、Qt 5からの移行方法をまとめた移植ガイドもご用意しました。もちろん、ドキュメントもQt 6に対応して更新を完了しています。

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の概要は、Qt 6.1のwikiページでご確認ください:https://wiki.qt.io/New_Features_in_Qt_6.1

Qt 6.1では、Qt 6.0のパッケージマネージャーをいったん削除し、ライブラリを追加することにしました。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
  • Compatibility: Qt Graphical Effects

Qt 6.1のリリース候補版はすでに完成しており、より詳細なブログ記事も間もなく投稿できると思いますので、ここでは新機能について詳しくは触れないでおきます。Qt 6.1は間もなく、多くのベースモジュール(Core、Gui、Networkなど)の重要な新機能やアップデートを提供するほか、フレームワーク全体で細かな修正が加えられる予定です。さらにQt 6.1では、Qt Quick 3Dの新機能も提供し、インスタンスレンダリング3Dパーティクルといった新しい機能のテクノロジープレビューも提供します。

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がユーザーの皆様にもたらす価値をさらに高めるために、いくつかの重要な新機能を現在開発中です。グラフィックとUIについては、Qt 6.1のテクノロジープレビュー機能を完成/改善し、100%のサポートを提供する見通しです。また、ワークフローとツールも改善中で、最高の2D/3Dユーザーインターフェースの開発が一層容易になるほか、デスクトップ、モバイル、組み込みプラットフォームのいずれにおいても最高のパフォーマンスを実現できるようになります。Qt 6.2ではQtの非グラフィックモジュールも改善中で、これによりパフォーマンスやユーザーの利便性、Qtの各種ツールとの統合性が向上されると思います。

Qt 6.2では数々のプラットフォームアップデートのほか、新たなプラットフォームサポートも予定しており、各種OSやコンパイラの最新バージョンへのサポートも提供します。新たなプラットフォームサポートで特に興味深いものとしては、ARMベースのApple Silicon/macOSへのサポートがあります。すでにRosetta翻訳環境でのQtアプリケーションの実行が可能で、ネイティブな運用も一部可能です。Qt 6.2ではARMベースのmacOSの100%サポートを予定しており、開発ホストとしてもデプロイメントターゲットとしてもサポートを実現できる見通しです。このほかにも、Qt 6.2 LTSでQNXおよびINTEGRITYといったリアルタイムOSへのサポート提供を進めています。

Qt 5.15 LTS

Qt 5.15は商用ライセンスユーザーのみのLTSフェーズに入っており、Qt 5.15.3が商用ライセンスユーザー専用の最初のパッチリリースとなります。次のパッチリリースもすでに最終段階に入っており、間もなくQt 5.15.4を配布する予定です。Qt 5.15 LTSのパッチリリースは2021~22年に継続し、2~3カ月ごとの配布を見込んでいます。

バイナリインストーラをご利用の商用ライセンスユーザーの皆様は、すべて従来通りにご利用いただけます。商用ライセンスユーザー専用の新しいLTSパッチリリースと新機能のプレビューは、Qtインストーラで入手できます。開発リポジトリへのアクセスが必要な場合は、LTSリポジトリにアクセスしてください。また、Yoctoレシピもアップデートして商用ライセンスユーザー専用のLTSリポジトリと連動させたので、Qt for Device Creationをお使いの場合は、商用LTSリポジトリでmeta-qt5を使うためのガイドをご覧ください。

Qt for MicrocontrollersとQt Safe Renderer

最近のマイクロコントローラは、少し前まで主流だった組み込みマイクロプロセッサボードのものと比べると、グラフィック機能が優れています。Qt for MCUsは、NXPやST Microelectronics、Renesasといった最近のマイクロコントローラで圧巻のビジュアルユーザーインターフェースを開発するのに最適で、Cypress/Infineonにも近く対応できる予定です。Qt for MCUsでどのようなことができるか、概要をご紹介していますので、ぜひこちらのデモ(https://resources.qt.io/qt-mcus)やテクニカルドキュメントをご覧ください。

今年はすでにQt for MCUsで2つの機能リリースを行っており、6月にはQt for MCUs 1.9を提供できるよう作業を進めています。これまでQt for MCUsは開発ホストとしてWindowsのみをサポートしていましたが、Qt for MCUs 1.9ではLinuxも開発ホストとして公式にサポートする予定です。次のメジャーリリースとなるQt for MCUs 2.0は9月の予定で、2021年12月にはQt for MCUs 2.1のリリースを目指しています。Qt for MCUsの開発作業はQML言語のサブセットで行っており、Qt for MCUs 2.0はQML言語のサブセットでQt 6.2との互換性を提供する予定です。

Qt Safe Rendererは、Qt独自の機能安全の認証済み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)の認証を取得しています。

2020年はQSR 1.2の開発および全体試験を実施しました。現在は認証プロセスにあり、間もなくリリースの予定となっています。QSR 1.2は、レンダリング機能に複数のアップデートを行うほか、新たなプラットフォームサポートも追加します。QSR 1.2のリリースについては、正式発表をお待ちください。

Qt CreatorとQt Design Studio

フレームワークライブラリの開発状況をご紹介したところで、せっかくなのでツールについても触れておきたいと思います。Qtで開発を行う大部分のユーザー様は様々なツールを使っておられるので、ツールも最良のものを提供するのが極めて重要です。昨年12月にQt 6.0をリリースした際には、Qt CreatorとQt Design StudioのQt 6サポートを実現しました。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はもちろん、それ以前のQtもサポートします。今後のリリースが待ちきれないという方は、Qt Creator 4.15ベータのブログ投稿や、Qt Design Studio 2.1ベータのブログ投稿をご覧ください。

Qt Creator 5.0は、8月にQt 6.2 LTSの基盤としてリリースし、さらに11月には開発者向けツールの一層の向上を目指して次のバージョンをリリースする計画です。Qt Design Studioについては、9月にバージョン2.2をリリースし、Qt 6.2の設計者向けツールサポートを提供したのち、12月に次のバージョンをリリースします。これらのツールの連動性の強化も進めており、両ツールを使ったプロジェクトワークフローの改善を実現したいと考えています。改善点の一部は2021年第2四半期のリリースに、残りは2021年下半期のリリースに組み込まれる予定です。

品質保証ツール

The Qt Companyは先ごろfroglogic GmbHを買収し、品質保証ツールの分野でもサービスを拡大しています。今後は、同社の主な製品ライン(GUIテストオートメーション、コードカバレッジ分析、テスト結果管理)の一層の向上を図っていきます。これらの製品については、開発を継続しながら、さらなる向上も検討していく計画です。また、今回の買収を機に、Qtをまだお使いでない方々へのソリューション提供を推進するほか、Qtのサービスの一環としてさらなる相乗効果を目指します。

引き続き最新情報をお見逃しなく

今年は、ユーザーの皆様に喜ばれる数多くのサービスを提供できそうです。その一つひとつの詳細に触れたいところですが、一度のブログ投稿ではまず無理でしょう。これらにご関心をお持ちの方はぜひ、5月18~21日に開催の無料オンラインイベント「Dev/Des Days 2021」へご参加ください。数多の素晴らしい最新情報をお届けできるかと思います。こちら(https://www.qt.io/devdesdays)をご覧になり、今すぐお申込みください。

「Dev/Des Days」のほかにも、今年はすでに情報満載のウェビナーやブログ投稿をたくさん発表しています。引き続き最新情報をお届けしてまいりますので、多彩なトピックを随時ご確認ください。

 


Qt 6, our latest major release, is now out and available for you to test drive. Learn more about the next-generation of building cutting-edge software experiences here.


Blog Topics:

Comments