Microsoftは、Rust開発者がWindowsAPIを呼び出すための自然で慣用的な方法を提供するRust / WinRTプロジェクトを発表しました。 Rust / WinRTを使用すると、APIを説明するメタデータから直接生成されたコードを使用して、過去、現在、未来のWinRT APIを呼び出し、Rustパッケージに直接呼び出すことができます。Rustパッケージでは、それらを別のRustモジュールであるかのように呼び出すことができます。
私のフェイスブックページは他の人にどのように見えますか
Windowsランタイムは、内部のコンポーネントオブジェクトモデル(COM)APIに基づいており、C ++ / WinRTやRust / WinRTなどの言語プロジェクションを介してアクセスできるように設計されています。これらの言語プロジェクションは、さまざまなAPIを記述するメタデータを取得し、ターゲットプログラミング言語に自然なバインディングを提供します。これにより、開発者は希望の言語を使用してWindows用のアプリやコンポーネントをより簡単に構築できます。次に、これらのWindows APIを使用して、デスクトップアプリ、ストアアプリ、コンポーネント、NTサービス、またはデバイスドライバーを構築できます。
以下は、RustがWindowsAPIを呼び出す簡単な例です。
windows :: data :: xml :: dom :: *を使用します。 doc = XmlDocument :: new()?; doc.load_xml( 'hello world')?; root = doc.document_element()?; assert!(root.node_name()?== 'html'); assert!(root.inner_text()?== 'hello world');
より意味のある例として、Rust / WinRTを使用して実装された次のマインスイーパゲームを確認できます。 https://github.com/robmikh/minesweeper-rs
アマゾン ファイア スティックが Wi-Fi に接続しない
Microsoftは、これは非常に初期の公開プレビューであるため、今後さらに多くの機能と修正が行われる予定であると述べています。プロジェクトのホームページはGitHubにあります: