Qt Bridgesは、2025年から開発を進めているプロジェクトであり、完全なバインディングを経由することなく、QtのUIフレームワークの機能を他のプログラミング言語に提供することを目的としています。その焦点は、バックエンドのデータオブジェクトとの連携にあり、これらはQt Quickインターフェース内にQMLコンポーネントとしてシームレスに統合されます。
QtWS2025での QtWS2025での発表以来以来、私たちは初期の概念実証(PoC)を、ユーザーの皆様に実際に試していただける段階まで開発を進めてきました。本日、2番目の対象言語であるRustについて、皆様に試していただくのに十分な状態となったため、パブリックベータ版への移行が準備できたことを大変嬉しく思います。
このマイルストーンには、以下の機能が含まれています。
- Rustの構造体(struct)をQML要素として作成
- QMLからRustのメソッドを呼び出す
- QML内でのRustシグナルの処理
- QML内でのRustプロパティの読み書き
- QMLのプロパティをRustのプロパティにバインドする
- QMLビューをRustのコレクションにバインドする
- Rust から QML オブジェクトツリーを構築し、操作する
- スレッド間でのメソッド呼び出し
- serde_jsonの直接サポート
- C++コードを一切書かずに、Rustのイディオムに沿ったバックエンドコードを記述する。
Qtを次のRust UIフレームワークとして使い始める方法を学び、実際に試してみて、フィードバックをお寄せください。
なぜ Rust?
言語の普及の道筋は、すべて同じというわけではありません。 多くの分野で広く使用されることで成長する言語もあれば、特定の厳しい状況下での深い信頼によってその地位を確立する言語もあります。Rust は間違いなく後者に属しており、そうした状況は、Qt が最も活躍している分野と大きく重なっています。Rust は使用率の統計上、急成長しているわけではありませんが、熱心で忠実な愛好家のコミュニティを築き上げています。
「Stack Overflow Developer Survey 2025」において、Rustは単なる利用率ではなく、より希少な点で際立っています。それは、10年連続(2016年~2025年)で「最も評価されているプログラミング言語」に選ばれており、ユーザーの72%が今後も使い続けたいと考えている点です。 この記録を保持している言語は他にありません。Rustのビルドツール兼パッケージマネージャーであるCargoも、同調査において「最も評価の高い開発者ツール」(71%)として独立してランクインしました。 RedMonkの2025年第1四半期ランキングでは、Rustは20 位にランクインしており 、ほんの数年前まではトップ20圏外だったことから、明確な上昇傾向が見られます。この軌跡は、一過性のブームではなく、計画的かつ着実に拡大する採用状況を反映しています。
Rustパッケージをホストするレジストリ「crates.io」は、現在20万以上の公開クレートを擁し、1日あたり10億回以上のダウンロードを記録しており、この数字は活気に満ちた活発なエコシステムを物語っています。
しかし、Qt Bridgesの候補としてRustが際立っている点は、それがどこで、なぜ採用されているかという点にあります。 Rustは、Qtの基盤となった言語であり、現在も大多数のQt開発者が使用しているCおよびC++に代わる、安全で現代的な代替言語として明確に設計されています。このことがインフラレベルでの採用を後押ししており、AWS、Google、Microsoft、Linuxカーネルプロジェクトなどが、パフォーマンスや安全性が極めて重要なコード向けにRustへ戦略的な投資を行っています。
2024年には、Qtユーザーにとってすでに重要な産業である自動車および航空宇宙分野でのRust導入を推進するために、「Safety-Critical Rust Consortium」が設立されました。また、米国NSAやCISAを含む政府機関や標準化団体も、CおよびC++によるクリティカルシステムに代わるメモリ安全な代替手段として、Rustを正式に推奨しています。
これは、すでにC++でQtを活用している多くの開発者や組織が、単にRustに興味を持っているだけでなく、業界の要件、規制当局の指針、そして安全で信頼性の高いソフトウェアを構築するという実務上の必要性によって、積極的にRustへの移行を迫られていることを意味します。
今後の展開
ぜひ試してみて、フィードバックをお寄せください。Qtを新しいRust UIフレームワークとして活用する方法の詳細や手順については、専用ブログをご覧ください。
Rustブリッジの次のステップは、テクノロジープレビュー(TP)段階に到達し、現在の提供機能を洗練・充実させることです。このマイルストーンを達成するためには、皆様からのフィードバックが不可欠ですので、ぜひご意見をお寄せください。
以下の Qt Bridgesフォーラム で関連する議論を行ってください。また、TPリリース後に問題が見つかった場合は、バグ追跡プラットフォーム(JIRA)を通じて報告してください。
今後の Qt Bridges リリース
Rustは、C#とともに本プロジェクトの第1フェーズの一部です。これらの言語向けのブリッジが目標とする成熟度に達した後は、新たな言語を含む第2フェーズへと進めていきます。