win10之家5月3日消息微软推出了基于 Rust 的 Windows 运行时项目Rust/WinRT。该项目和 C++/WinRT 一脉相承,用标准语言和编译器为 Windows 运行时构建语言投影,从而方便 Rust 开发人员调用 Windows API,更轻松地使用 Rust 构建各类 Windows 应用和组件。
Windows 运行时基于内部的组件对象模型(Component Object Model,COM)API,需要通过诸如 C++/WinRT 和 Rust/WinRT 之类的语言投影进行访问。这些语言投影采用描述各种 API 的元数据,并为目标编程语言提供自然的绑定。这使开发人员可以使用所需的语言为 Windows 轻松构建应用程序和组件。
Rust/WinRT 由来自 Windows 团队的工程师Kenny Kerr于去年十一月提出,并开始进行尝试。他在当时的博客文章中表示,Windows 运行时已开始增加对各种语言的支持,但这些都无法脱离 C++,直到 Rust 的出现。
Kerr 认为,即便 Rust 的学习曲线可能令人望而却步,但它很有可能解决 C++ 与 WinRT 的关系中一些最棘手的问题。“想象一下不需要 IDL 的 C++/WinRT:更快的构建时间,以及简单而集成的构建系统。”
根据微软的介绍,Rust/WinRT 能够将任意时间段内的 WinRT API 直接调用进 Rust 包,开发者可以像调用 Rust 模块一样调用它们。
Rust 与 C++ 在编译和运行时模型等许多方面都非常类似,但 Rust 在安全性上更胜一筹,这也是微软一直强调和看重的地方。
官方的介绍文章中还给出了一些关于 Rust/WinRT 的有趣示例,例如这个从 C++/WinRT 快速移植到 Rust/WinRT 的扫雷游戏demo:
目前Rust/WinRT 还处于早期预览状态,微软希望它接下来与现有 Win32 和 COM API 提供更加无缝的互操作,包括对com-rs crate的支持。
详情可见微软官方博客:https://blogs.windows.com/windowsdeveloper/2020/04/30/rust-winrt-public-preview/
相关文章
推迟整整1个月! 消息称因BUG微软将在5月28
05-02微软 Xbox Game Pass 订阅用户超 1000 万
05-02微软 Win10 版本 1909 市场份额占比达到 33
05-02微软 Surface Headphones 2 耳机通过 FCC
05-02微软推送Win10 2004 2020 May更新具体时间
05-02微软改名部宣布将Visual Studio Online改名
05-02微软推送Windows 10 Build 19041.208版 应
05-02微软Build 2020开放注册:5月19日见
05-02微软放开了Build 2020线上活动的免费注册
05-02支持多窗口模式 微软正测试iPadOS版Word和P
05-02网友评论(共有 0 条评论)