Windows 用 Rust と windows クレート

 

Windows 用 Rust の概要

Rust を使用した Windows での開発の概要」トピックでは、Hello, world! メッセージを出力する簡単なアプリについて説明しました。 しかし、Windows "" Rust を使用できるだけでなく、Rust を使用して Windows "のための" アプリを記述することもできます。

最新の更新プログラムはすべて、GitHub の Windows 用 Rust のリリース ログ リポジトリで確認できます。

Windows 用 Rust を使用すると、windows クレートを介して、過去、現在、将来の任意の Windows API を直接シームレスに使用できるようになります (クレートは、バイナリ、ライブラリ、1 つにビルドされるソース コードを表す Rust の用語です)。

それが CreateEventWWaitForSingleObject などのタイムレス関数であるか、Direct3D などの強力なグラフィックス エンジンであるか、CreateWindowExWDispatchMessageW などの従来のウィンドウ関数であるか、Composition などの最新のユーザー インターフェイス (UI) フレームワークであるかを問わず、windows クレートで対応できます。

この win32metadata プロジェクトは、Win32 API のメタデータを提供することを目的としています。 このメタデータは、厳密に型指定された API の署名、パラメーター、型など、API サーフェイスについて記述するものです。 これにより、Rust (および C# や C++ などの言語) での使用のために、自動化された完全な方法で Windows API 全体を計画することができます。 また、「より多くの言語からの Win32 API へのアクセスの実現」を参照してください。

Rust の開発者は、Cargo (Rust のパッケージ管理ツール) と共に https://crates.io (Rust コミュニティのクレート レジストリ) を使用して、プロジェクト内の依存関係を管理します。 Rust アプリから windows クレート を参照したらすぐに、Windows API の呼び出しを開始できるのが利点です。 windows クレートに関する Rust のドキュメントは、https://docs.rs でも参照できます。

C++/WinRT と同様に、Windows 用 Rust は、GitHub で開発されているオープン ソースの言語計画です。 Windows 用 Rust について質問がある場合や、問題を報告する場合は、Windows 用 Rust のリポジトリを使用します。

Windows 用 Rust のリポジトリには、参考にできるいくつかの簡単な例も収録されています。 また、Robert Mikhayelyan のマインスイーパーという形で、優れたサンプル アプリがあります。

Windows 用 Rust に貢献する

Windows 用 Rust では、皆さんの貢献が歓迎されています。

Windows API 用の Rust ドキュメント

Windows 用 Rust は、Rust 開発者が利用している洗練されたツールチェーンの恩恵を受けています。 しかし、Windows API 全体を自在に扱うことが少し難しすぎるように思える場合は、Windows API についての Rust ドキュメントも用意されています。

このリソースは、基本的に、Windows の API と型が、独特な Rust にどのように投影されるかを文書化するものです。 これを使用して、それについて知る必要があり、呼び出す方法を知る必要がある API の参照や検索を行ってください。

Windows 用 Rust を使用したアプリの記述

次のトピックは、RSS リーダーのチュートリアルです。ここでは、Windows 用 Rust を使用して簡単なアプリを記述する手順について説明します。