作者: BigLoser 访问次数: 683 创建时间: 2020-05-03 21:47:41 更新时间: 2024-04-25 02:48:35
微软推出了基于 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/
语言: zh-CN
翻译人员:
原作者:
转载地址:
源网址: https://www.oschina.net/news/115354/microsoft-winrt
版权: 本站所有内容, 版权归原作者所有。发表原创内容将会获得现金奖励, 并且随着时间倍数增长, 请了解我们的内容奖励计划。