クロスプラットフォームのアプリケーション開発フレームワークQtの開発元であるThe Qt Company oyは、Qtのアップデート版「Qt 5.8」をリリース開始した。
Qtはマルチデスクトップ、組み込み型、モバイルのオペレーティングシステムに対するサポートを行い、開発者はアプリケーションやデバイス開発において、1つのフレームワークで複数のプラットフォームをターゲットにすることができる。車載システム、産業オートメーションデバイスおよび、その他主要なビジネスアプリケーションメーカー等、グローバルに展開する70以上の業界で利用されている。
今回アップデートされた「Qt 5.8」ではマルチプロセス対応向けの新機能やステートマシン開発ツールへの統合、主にIoT向けにパフォーマンスの改善やメモリ消費量の削減に対応。
Qt LiteはQtをカスタマイズするための機能を提供、ユーザーによる用途に合わせた、コンパクトでパフォーマンスの高いQtの構築が可能で、これまで以上にQtによる作業が容易になった。新しいシステム設定ではIoTや組み込み機器向けに、最低限必要なQtの機能を選択して利用することができるという。最大で60%のメモリフットプリントを削減することで、パフォーマンスの改善やアプリケーションのブート時間の短縮に繋がる。Qt LiteによりQtを搭載できるデバイスの幅が広がった。ウェアラブルをはじめ低スペックのIoT機器にもQtを使用できる。主な機能は以下の通り。
- 起動時間の短縮化。
- メモリフットプリントの削減。
- 設定のためのシステムを刷新。
- GUIの設定ツール。
- 柔軟な開発者向けのワークフロー。
- OpenGL依存の制限を解除。
- サポート可能なハードウェアを拡大。
「Qt 5.8」ではQt Wayland Compositor APIが正式対応になった。これにより、Qtの機能を用いて独自のWaylandコンポジタを作成でき、コンポジタを作成するために必要なすべてのツールも提供される。また、C++での作成にも対応しているのは勿論のこと、強力かつシンプルなQMLにより、コンポジタのUI/UXを記載することが可能。Qt Wayland Compositor API を採用するメリットは以下の通り。
- マルチスクリーン対応のデバイスの開発が簡単に実現。
- 高度に抽象化されたAPI を提供することで、コード量の削減やテスト、デバッグの工数の削減が可能。
- 独自のWayland の拡張をサポートし、クライアントとコンポジタの通信を自由にカスタマイズ可能。
(例)クライアントにナイトモードへの移行を伝える拡張プロトコルを簡単に記載することが可能。 - XDG shell、WL shell、IVI application などのシェルエクステンションがビルトインされており、様々なエクステンションを採用しているクライアントに対応することが可能。
その他の追加機能は以下の通り。
- Qt Serialbus が「Qt 5.8」に正式対応となった。これによりQt のAPI にてデバイスのバスプロトコルや通信に対応することが可能になる。
- Qt テクノロジープレビューとして追加された音読み上げ機能を利用してアクセシビリティやユーザー体験を向上させることができる。
- Qt Network Authorization という新しいモジュールもテクノロジープレビューとして追加され、アプリケーションやデバイスをクラウドに接続してサードパーティーのウェブサービスと連携させることが容易になった。
- システムを設計するための形式的なアプローチであるステートマシンにより意図しないシステムの動作を減らすことができ、ワークフローの検証も可能。
State Machine XML(通称SCXML)はステートマシンを記述するための標準フォーマットで、「Qt 5.8」で追加されたQt SCXMLというモジュールによりQt Creator、Qt QuickやQMLでステートマシンを生成するためにSCXMLを使用することが可能になり、Qt Quickにはステート、サブステート、トランジションや様々なプロパティを変更するためのビジュアルエディタも追加されている。
【関連リンク】
・The Qt Company
無料メルマガ会員に登録しませんか?
IoTに関する様々な情報を取材し、皆様にお届けいたします。