Windows 用 Rust と windows クレート

 

Windows 用 Rust の概要

Rust を使用した Windows での開発の概要 のトピックでは、Hello, world! というメッセージを出力する簡単なアプリを紹介しました。 ただし、Windows では Rust を使用できるだけでなく、Rust を使用して Windows のアプリを作成することもできます。

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

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

CreateEventWWaitForSingleObject などの時代を超越した関数、Direct3D などの強力なグラフィックス エンジン、CreateWindowExWDispatchMessageW などの従来のウィンドウ関数、またはコンポジションなどの最近のユーザー インターフェイス (UI) フレームワークのいずれであっても、ウィンドウ クレートで説明しました。

win32metadata プロジェクトは、Win32 API のメタデータを提供することを目的としています。 このメタデータでは、API サーフェス (厳密に型指定された API シグネチャ、パラメーター、および型) について説明します。 これにより、Windows API 全体を Rust (および C# や C++ などの言語) で自動的かつ完全な方法で使用できるようになります。 また、「 Win32 API をより多くの言語にアクセスできるようにする」も参照してください。

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

C++/WinRT と同様に、Rust for Windows は GitHub で開発されたオープン ソース言語プロジェクションです。 Windows 用 Rust に関する質問がある場合、または問題を報告する場合は、Rust for Windows リポジトリを使用します。

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

Windows 用 Rust に貢献する

Rust for Windows が投稿を歓迎します。

Windows API の Rust ドキュメント

Rust for Windows の利点は、Rust 開発者が楽しむ洗練されたツールチェーンから得られます。 ただし、Windows API 全体をすぐに使うのが少し難しいと思われる場合は、 Windows API の Rust ドキュメントもあります。

このリソースは基本的に、Windows API と型が慣用的な Rust にどのように投影されるかを説明します。 これを使用して、知る必要がある API を参照または検索し、呼び出し方法を知る必要があります。

Windows 用 Rust を使用したアプリの作成

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