Rust for Windows 和 windows crate

 

Rust for Windows 简介

关于在 Windows 上使用 Rust 进行开发的概述主题展示了一个简单的应用,用于输出“Hello, world!”消息。 但是,不仅可以在 Windows 上使用 Rust,还可以使用 Rust 为 Windows 编写应用。

Rust for Windows 是 Windows 的最新语言投影。 它目前以预览形式提供,可在更改日志中查看其版本开发过程。

使用 Rust for Windows,可以通过 windows crate(crate 是 Rust 对二进制文件或库的术语,和/或生成到其中的源代码的术语)直接、无缝地使用任何(过去、现在和将来的)Windows API。

无论是无时间限制的函数(如 CreateEventWWaitForSingleObject)、功能强大的图形引擎(如 Direct3D)、传统窗口函数(如 CREATEWINDOWEXWDispatchMessageW),还是最新的用户界面 (UI) 框架(如 CompositionXaml),都可以使用 windows crate 来调用。

win32metadata 项目旨在为 Win32 API 提供元数据。 此元数据描述了 API 表面:强类型 API 签名、参数和类型。 这样,整个 Windows API 能够以一种自动化和完整的方式进行投影,以供 Rust(以及 C# 和 C++ 等语言)使用。 另请参阅让 Win32 API 更容易被更多的语言访问

作为 Rust 开发人员,你将使用 Cargo(Rust 的包管理工具)以及 https://crates.io(Rust 社区的 crate 注册表)来管理项目中的依赖项。 好消息是,可以从 Rust 应用中引用 windows crate,然后立即开始调用 Windows API。 还可以在 上找到 Rust 关于 windows crate 的文档

C++/WinRT 类似,Rust for Windows 是在 GitHub 上开发的开放源代码语言投影。 如果有关于 Rust for Windows 的问题,或想要报告与之相关的问题,请使用 Rust for Windows 存储库。

Rust for Windows 存储库还有一些可供遵循的简单示例。 Robert Mikhayelyan 的扫雷游戏就是一个很好的示例应用。

参与 Rust for Windows

Rust For Windows 欢迎你的参与!

Windows API 的 Rust 文档

Rust for Windows 受益于 Rust 开发人员所畅享的完善的工具链。 但是,如果让整个 Windows API 能够被轻松调用是一项艰巨任务,则还可以参阅 Rust 关于 Windows API 的文档

此资源基本上介绍了如何将 Windows API 和类型投影到惯用 Rust 中。 使用它,可以浏览或搜索你需要了解的 API,以及你需要知道如何调用它的 API。

使用 Rust for Windows 编写应用

下一主题是 RSS 阅读器教程,我们将演练如何使用 Rust for Windows 编写一个简单的应用。