ニュース
クロスプラットフォームアプリフレームワーク「Qt」が8年ぶりにメジャーリリース
C++17、Metal/Vulcanを採用した「Qt 6.0」
2020年12月14日 15:27
クロスプラットフォーム対応のアプリケーションフレームワーク「Qt」の新しいメジャーバージョン「Qt 6.0」が、12月8日にリリースされた。2012年の「Qt 5.0」以来、実に8年ぶりのメジャーバージョンアップとなる。
「Qt」はC++言語で開発されているフレームワークで、主要なデスクトップOSから組込みOSまでの幅広いプラットフォームで動作するアプリケーションを単一のコードで開発できるのが特徴。とくに近年では組込みシステムで採用が急増しているという。
最新版の「Qt 6.0」は、この8年間に起こった技術革新――C++言語の拡充や新しい3DグラフィックスAPIの登場――にキャッチアップするとともに、可能な限り「Qt 5.0」との互換性を保ちつつ、コードベースやツールチェインの見直しと再編が図られている。
- C++17:最近のC++言語仕様「C++17」へアップグレード。コアライブラリとAPIもブラッシュアップされる
- 次世代グラフィックスアーキテクチャー:「OpenGL」に大きく依存していた「Qt 5」のアーキテクチャーを見直し、「Metal」と「Vulkan」を導入。RHI(レンダリングハードウェアインターフェイス)と呼ばれる抽象化レイヤーが新設され、OSネイティブの3DグラフィックスAPIを利用できるように(Windowsの場合は「Direct3D」)
- デスクトップスタイリング:「Qt Quick」コントロールがそれぞれのOSでネイティブコントロールと同じ見た目に(Windows/Mac)。iOSでもネイティブスタイルの実装を予定
- 2D/3Dの統合:2Dグラフィックスの「Qt Quick」、3Dグラフィックスの「Qt 3D Studio」と役割が分かれていたツールを統合。「Qt Quick」を拡張した「Qt Quick 3D」で2D/3Dをシームレスに扱えるようになった。「Qt 3D」も引き続き利用可能で、RHIによりパフォーマンスが向上している
- ビルドシステムとパッケージング:「Qt 6」自身を「CMake」でビルドするように。もちろんアプリ開発者も利用できる。アドオンの多くはパッケージマネージャーを介して配信
対応OSは、以下の通り。古いOSはサポートが打ち切られているので注意したい。
- Windows 10
- macOS 10.14以降
- Linux(Ubuntu 20.04、CentOS 8.1、OpenSuSE 15.1)
- iOS 13以降
- Android(API level 23以降)
なお、コードベースのクリーンアップに伴い、「Qt 5」でサポートされていた一部の機能は削除されている。これらの機能は「Qt 5.15」で非推奨とマークされているので、チェックするとよいだろう。利用頻度の高い一部の機能に関しては、「Qt5CoreCompat」モジュールでの提供も行われている。
また、「Qt 6」はアドオンモジュールのサポートが十分でないが、これに関しては「Qt 6.2」をリリースする時点でほとんどのアドオンを再サポートできるようにしたいとしている。