2025年のQt World SummitでQt Bridgesを発表した際の目標はシンプルでした。好みのプログラミング言語でバックエンドを書きながら、Qt QuickのUIを構築できるようにすることです。今年はC#とRustのブリッジで複数回のパブリックベータを実施しました。テストに参加し、フィードバックを寄せてくださった皆さまに感謝します。すべてのリリースは、そのフィードバックをもとに形作られてきました。
本日、Qt Bridge for RustとQt Bridge for C#の両方が、テクノロジープレビューの段階に入りました。
Qt Bridgesの開発では、次の3つのシンプルな指針に沿って進めてきました。
実際のQt Bridgesアプリケーションは、2つの部分で構成されます。ユーザーインターフェースはQt QuickとともにQMLで記述し、バックエンドはRustまたはC#で記述します。言語の標準的な仕組み(C#では属性、Rustでは属性マクロ)を使って、UIから参照させたい型をマークします。すると、QMLからプロパティを読み取ってバインドしたり、メソッドを呼び出したり、シグナルに反応したり、コレクションをリストやテーブルに表示したりできます。独自のグルーコードや深いQtの知識は必要ありません。UIはバックエンドが公開したものだけに依存するため、どちらか一方を独立して変更できます。
Qt Bridgesは、Qt APIのフルバインディングではありません。バックエンドとQt Quick UIを接続することに重点を置いています。ネットワーク、ファイルI/O、その他の処理には、引き続き自分のエコシステムのライブラリを使えます。
テクノロジープレビューは、ベータ版と最初の安定版リリースの間に位置する段階です。中核となる機能セットはすでに揃っており、プロトタイプや評価プロジェクトに利用できます。ただし、安定版リリースまでにAPI、対応プラットフォーム、要件が変わる可能性があります。今の段階でいただくフィードバックこそ、最終的な製品に最も大きく影響します。
Qt Bridge for Rustを使うと、Rustで書いたバックエンドを持つQt Quick UIを構築できます。C++ヘッダーや手動のFFIは不要で、Qtの事前知識がなくても始められます。APIは属性マクロとトレイトをベースにしています。所有権モデルでは、QMLオブジェクトをRc<RefCell<T>>にマッピングするため、境界をまたいでも借用ルールが適用されます。また、このブリッジはCXX-Qtと基盤を共有しているため、両者を共存させることができます。
Rustブリッジでは、次のことができます。
Rustでのブリッジの使い方は、すべてドキュメントに掲載しています。
Qt Bridge for C#は、既存のアプリケーションを書き直すことなく、モダンでクロスプラットフォームなUIを実現したい.NETチーム向けです。既存のC#コードはそのままに、その上にQt Quickのフロントエンドを追加できます。
C#ブリッジでは、次のことができます。
詳しくは、ドキュメントをご覧ください。
Windowsの場合は、Visual Studio向けのQt Bridge for C#拡張機能が最も手軽な始め方です。プロジェクトテンプレートとアイテムテンプレートが追加されるため、dotnetテンプレートを個別にインストールする必要はありません。この拡張機能で作成したプロジェクトには、適切なNuGetパッケージが自動的に参照されます。さらに、プロジェクトをビルドするとC#の型に対するQML IntelliSenseが使えるよう、QML言語サーバーのサポートも有効になります。
VS Codeをお使いの場合は、どのプラットフォームでもQt Bridge C#拡張機能(VS Code用)をインストールできます。この拡張機能は、Qt Bridge for C#プロジェクトをQt Extension for VS Codeに接続し、次の機能を提供します。
プロジェクトを作成するには、Qt: Create a new project or fileを実行してQt Bridge for C# applicationを選択します。QMLツールが使用するメタデータを生成できるよう、一度ビルドしてください。この拡張機能にはQt Core拡張機能が必要です。C#の編集とデバッグには、C# Dev Kitに加えてQt QML拡張機能をあわせてインストールすることをおすすめします。
Qt World Summitのウェビナー「RustとC#向けのモダンで高性能なUI:Qt Bridgesテクノロジープレビュー登場」に、Cristián Maureira-FredesとMatthias Rauterが登壇します。開催は2026年11月3日(UTC+1)15:00です。プロジェクトの背景を紹介するとともに、両方のテクノロジープレビューをデモします。
2027年第1四半期に、いくつかの機能を追加したうえで、Qt Bridgesのテクノロジープレビューを終了する予定です。
テクノロジープレビュー期間中のフィードバックが、最も役立ちます。うまく動いている点、足りない機能、作業の妨げになっている点を教えてください。