Qt 6 の機能ロードマップが公開されました

KHTML エンジンの作成者、Qt プロジェクトのプロジェクト マネージャー、Qt Company のテクニカル ディレクターである Lars Knoll 氏は、 рассказал Qt フレームワークの次の重要なブランチを作成する計画について。 Qt 5.14 ブランチの機能が完了すると、開発は 6 年末に予定されている Qt 2020 のリリースの準備に集中します。

Qt 6 は Qt 5 との互換性を確保することを念頭に置いて開発されますが、計画されているアーキテクチャの変更やクリーンアップは、一定レベルの互換性を失わずに実装することはできないため、個別の問題が発生する可能性があります。 移行をスムーズにするために、Qt 6 の一部の機能は、Qt 5.14 および Qt 5.15 LTS リリースの一部として縮小された形式で組み込まれる予定です。 Qt 6 への移行を簡素化するためのツールキットも用意されます。

次の重要なブランチの主な目標には、機能を 2020 年の要件に一致させること、コード ベースをクリーンアップすること、プロジェクトのメンテナンスを簡素化することが含まれます。 予想される変更:

  • QML の大幅な最新化:
    • 強力な入力サポート。
    • QML を C++ 表現およびマシンコードにコンパイルする機能。
    • 完全な JavaScript サポートをオプションにします (フル機能の JavaScript エンジンを使用するには多くのリソースが必要となり、マイクロコントローラーなどの機器で QML を使用できなくなります)。
    • QML でのバージョン管理の拒否。
    • QObject と QML で重複していたデータ構造を統合 (メモリ消費量を削減し、起動を高速化します)。
    • データ構造の実行時生成を廃止し、コンパイル時生成を優先します。
    • プライベート メソッドとプロパティを使用して内部コンポーネントを非表示にします。
    • リファクタリングおよびコンパイル時エラー診断のための開発ツールとの統合が改善されました。
  • 新しい抽象レイヤーであるレンダリング ハードウェア インターフェイス (RHI) を追加して、OpenGL、Vulkan、Metal、Direct 3D (以前の Qt は OpenGL のみでした) を含むさまざまなグラフィックス API をシームレスに使用できるようにします。 QPainter、Qt Quick Scenegraph、Qt3D などの既存のレンダリング インフラストラクチャはすべて、RHI を使用するように変換されます。 また、さまざまなシェーダー開発言語をサポートし、ビルド段階と実行時の両方でシェーダーのクロスコンパイルを提供するために、Qt Shader Tools モジュールを追加する予定です。
  • 2D および 3D グラフィック要素を組み合わせたユーザー インターフェイスを作成するための統合 API の準備。 新しい API を使用すると、UIP 形式を使用せずに QML を使用して 3D インターフェイス要素を定義できるようになります。 3D コンテンツを Qt Quick と統合するための新しいインターフェイスは、QML を Qt 3D または 3D Studio のコンテンツと統合する際の高いオーバーヘッドや、2D と 3D の間でアニメーションやフレームレベルの変換を同期できないことなどの問題を解決する予定です。 ネストされた 2D レンダリングと 3D レンダリングの組み合わせは、新しいレンダリング エンジンを使用して実装されます。 3D サポートを備えた新しい Qt Quick のプレビューは、Qt 5.14 リリースで提供される予定です。
  • PNG イメージを圧縮テクスチャに変換したり、シェーダーやメッシュを特定のハードウェアに最適化されたバイナリ形式に変換したりするなど、コンパイル時にグラフィックス関連のアセットを処理するツールを追加します。
  • テーマとスタイルの統合エンジンを埋め込むことで、さまざまなモバイルおよびデスクトップ プラットフォームにネイティブな Qt Widgets および Qt Quick に基づいたアプリケーションの外観を実現できます。
  • ユーザーインターフェースを作成するためのツールの統一。 機能の重複や 3 つの別個の製品の配信中止を避けるために、Qt XNUMXD Studio の機能は Qt Design Studio に統合されることが予想されます。そのサブシステムとプラグインを接続するためのフレームワークの多くは、Qt Design Studio と同じコード ベースで構築されています。 Qtクリエイター。
    Qt Design Studio は、Photoshop、Sketch、Illustrator、Maya、3D Max などのコンテンツ作成パッケージとの高品質な統合も提供する予定です。 統合開発ツールキットでサポートされている主な言語は、C++、QML、Python です。 統合は、Qt Creator からインターフェイス設計ツールにアクセスし、プロジェクトのコンパイルやデバイス上でのアプリケーションのテストなど、開発者ツールの機能をインターフェイス設計者に提供できることも意味します。

  • ビルド システムとして QMake の代わりに CMake を使用することが決定されました。 QMake を使用したアプリケーションのビルドのサポートは引き続き残りますが、Qt 自体は CMake を使用してビルドされます。 CMake が選択されたのは、このツールキットが C++ プロジェクト開発者の間で広く使用されており、多くの統合開発環境でサポートされているためです。 QMakeの代替をうたったQbsアセンブリシステムの開発、 終了しました;
  • 開発中に C++17 標準に移行します (以前は C++98 が使用されていました)。 Qt 6 は、レガシー標準に基づくコードとの下位互換性を失わずに、多くの最新の C++ 機能のサポートを実装する予定です。
  • QML および Qt Quick に提供される機能の一部を C++ から使用できる機能。 特に、QObject および同様のクラスの新しいプロパティ システムが紹介されます。 バインディングを操作するエンジンが QML から Qt コアに統合されます。これによりバインディングの負荷とメモリ消費が削減され、Qt Quick だけでなく Qt のすべての部分でバインディングを利用できるようになります。
  • Python や WebAssembly などの追加言語のサポートを拡大するための継続的な作業。
  • より小さなコンポーネントに分割し、基礎となる製品のサイズを縮小することによって再構築します。 開発者ツールとカスタム コンポーネントは、新しいカタログ ストアを通じて配布されるアドオンとして提供されます。 サードパーティ開発者による Qt への追加も、無料および有料の両方で配布が受け付けられます。

出所: オープンネット.ru

コメントを追加します