Qt 6.0 フィーチャ―フリーズに到達しました

本記事は「Qt 6.0 Feature Freeze Milestone Reached」の抄訳です。
私たちは次のメジャーバージョンであるQt 6.0.0に搭載する全ての機能を凍結するという重要なマイルストーンを達成できたことを非常に嬉しく思います。現在すべての機能が整い、リリースまでの数ヶ月はそれら機能の更なるブラッシュアップ、チューニングに費やす予定です。このフェーズを経て、より完成度の高いQt 6.0.0を12月にリリースすることを目標としています。

私たちは 過去数年にわたって、次のバージョンのQtに向けたリサーチ、計画、そして作成に取り組んできました。Qt 5は大きな成功を収めており、これから何年もの間、アプリケーションとデバイスの開発のための強固な基盤となるでしょう。しかし常に変化する世界に対応し続けるため、Qtユーザーを次の新しい10年に導くためのバージョンが必要になります。LarsによるQt 6のテクニカルビジョンに関するポストでは、Qt 6.0における将来の戦略の概要を説明しています。

Qt 6.0 のタイムライン

Qt 6の機能については、すでにいくつかのブログがポストされていますが、今後も更に投稿が増えると思いますので、この投稿ではQt 6.0の構造とタイムラインにフォーカスしたいと思います。

まず、Qt 6.0開発スケジュールと主なマイルストーンを確認しましょう。

  • 2020年1月:Qt 5.15が分岐し、開発ブランチがQt 6.0になり、機能ブランチがマージされました
  • 2020年6月:構造凍結、サポートされているモジュールとプラットフォームが定義され、最初のバイナリスナップショットをリリース
  • 2020年8月:すべての機能でフィーチャ―フリーズ
  • 2020年9月:アルファ版リリース
  • 2020年10月:ベータフェーズ開始、複数のベータスナップショットリリース
  • 2020年11月:リリース候補版
  • 2020年12月:Qt 6.0.0リリース

  今回、フィーチャ―フリーズというマイルストーンに到達した為、Alphaリリースが次のマイルストーンとなります。これはQt自体の開発にご参加いただいている皆様や、Qt 6.0でどのような変化があるのかを追跡したい、あるいは機能の詳細を確認したい方々を主な対象としています。Betaリリースでは、全てのQtユーザーにご試用いただき、そのフィードバックからQt 6.0における問題点を洗い出し、可能な限りの対処を行うため、より完成度および満足度の高いQt 6.0をリリースする為に、全てのQtユーザーからのフィードバックは非常に重要な意味を持っています。

Qt 6.0がサポートするプラットフォームとモジュール

Qt 6.0では、まず重要なモジュール群といくつかの選択されたアドオンにフォーカスしています。そしていつものように、新しいメジャーリリースでは対象とする全てのターゲット構成がサポートされるわけではありません。Qt 6.0のリリース以降、2021年にQt 6.1、Qt 6.2 LTS、及び複数のパッチリリースを目標としており、それらのリリースで追加アドオンモジュールとターゲット構成のサポートを提供します。

Qt 6.0では下記のモジュールをサポートしています。

  • Qt Core
  • Qt GUI
  • Qt Widgets
  • Qt Network
  • Qt QML
  • Qt Quick
  • Qt Quick Controls
  • Qt Quick 3D
  • Qt Shader Tools
  • Qt Quick Timeline
  • Qt Wayland
  • Qt Wayland Compositor
  • Qt SVG
  • Qt Concurrent
  • Qt D-Bus
  • Qt OpenGL and Qt OpenGL Widgets (note different than in Qt 5)
  • Qt 3D
  • Qt Network Authorization
  • Qt SQL
  • Qt Printing Support
  • Qt Test
  • Qt Help

 …など

モジュール内ではいくつかの古いAPIが削除され、同時に新しいAPIが導入されています。Qt 5.15で非推奨とされ、Qt 6で削除された機能、APIについては、アプリケーション側でもそれに応じて変更を行う必要がありますが、それを支援する移行ガイドを準備する予定です。

なお、Qt 5に存在しているいくつかのモジュールは、下記の理由により上記にリストされていません。

  • 旧バージョンで非推奨とされ、Qt 6で削除された(Qt ScriptやQt XML Patternsなど)
  • 他モジュールの一部となり、個別のモジュールである必要がなくなった(platform specific extrasなど)
  • Qt 6.0以降のリリース(Qt 6.x)に含まれる予定(Qt MultimediaやQt Bluetooth、Qt Virtual Keyboardなど)

もしアプリケーションがQt 6.0にない機能に依存している場合、その機能を含むQt 6.xリリースを待つ必要があるかもしれません。その為、Qt 5.15 LTSは長期サポートリリースとしてこのユースケースに対応するべく、引き続きパッチリリースを行いプロジェクトを維持します。

Qt 6.0は、ほとんどのデスクトップ、モバイル、組み込みプラットフォームをサポートしています。また、新たにC++17の要件を含む為、最新のコンパイラが不可欠になっています。なお、各RTOS向けのサポートは“テクノロジープレビュー”レベルになる予定で、開発とテストを行うことが可能です。今後のAlpha、Beta版リリースでサポートされるホスト、ターゲット、より詳細なロードマップについては、別途提供する予定です。

Qt 6.0を試すには?

私たちはQt 6.0をQt community全体と共に開発しています。ソースコードのリポジトリを公開しており、誰もがQtプロジェクトを介して開発に参加することができます。そして6月以降、Qt 6.0の定期的なスナップショットをリリースしながら最終版に向けての作業を継続しています。機能が凍結されAlphaに近づくと、スナップショットはQt 6.0を試す為のユーザビリティの向上に注力されます。次にBetaの段階では、ほとんどの方にスナップショットを試していただいた上で、そのフィードバックを参考に高い完成度に向けて可能な限り問題点の対処を行います。

 Qt 6.0スナップショットはQt Online Installerから入手することができます。
その際、インストーラ内にある“Preview”カテゴリをオンにしてください。
また、ソースコードにアクセスするには、Qtプロジェクトのリポジトリからクローンを作成するか、Qt 6.0スナップショットのリリースの一部(パッケージ)として入手することが可能になっています。

ご意見やご提案、バグ等お気づきの点がありましたら、bugreports.qt.ioへご連絡をいただくか、またはQtプロジェクトのメーリングリストQt ディベロッパーフォーラムを介してご連絡いただければと思います。


Blog Topics:

Comments