Microsoft анонсировала проект Rust / WinRT

Microsoft анонсировала проект Rust / WinRT, который предоставляет разработчикам на Rust естественный и идиоматический способ вызова API-интерфейсов Windows. Rust / WinRT позволяет вам вызывать любой прошлый, настоящий и будущий WinRT API, используя код, сгенерированный на лету прямо из метаданных, описывающих API, прямо в ваш пакет Rust, где вы можете вызывать их, как если бы они были просто еще одним модулем Rust.

Логотип двоичного баннера

Среда выполнения Windows основана на API-интерфейсах модели компонентных объектов (COM) под капотом и предназначена для доступа через языковые проекции, такие как C ++ / WinRT и Rust / WinRT. Эти языковые проекции берут метаданные, описывающие различные API, и обеспечивают естественные привязки для целевого языка программирования. Это позволяет разработчикам более легко создавать приложения и компоненты для Windows, используя желаемый язык. Затем вы можете использовать эти Windows API для создания настольных приложений, хранения приложений, компонента, службы NT или драйвера устройства.

Ниже приведен простой пример вызова Rust API Windows.

используйте windows :: data :: xml :: dom :: *;
let doc = XmlDocument :: new () ?; doc.load_xml (" привет, мир ") ?;
let root = doc.document_element () ?; assert! (root.node_name ()? == "html"); assert! (root.inner_text ()? == "привет, мир");

В качестве более наглядного примера вы можете посмотреть следующую игру Minesweeper, реализованную с использованием Rust / WinRT: https://github.com/robmikh/minesweeper-rs

Microsoft отметила, что это очень ранняя общедоступная предварительная версия, поэтому в будущем появится больше функций и исправлений. Домашняя страница проекта находится на GitHub:

https://github.com/microsoft/winrt-rs

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *