Microsoft анонсировала проект Rust / WinRT, который предоставляет разработчикам Rust естественный и идиоматический способ вызова Windows API. Rust / WinRT позволяет вам вызывать любой прошлый, настоящий и будущий WinRT API, используя код, сгенерированный на лету, прямо из метаданных, описывающих API, прямо в ваш пакет Rust, где вы можете вызывать их, как если бы они были просто еще одним модулем Rust.
как смотреть Twitch чат во время стриминга
Среда выполнения 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 () ?; утверждать! (root.node_name ()? == 'html'); assert! (root.inner_text ()? == 'привет, мир');
Для более наглядного примера вы можете посмотреть следующую игру Minesweeper, реализованную с использованием Rust / WinRT: https://github.com/robmikh/minesweeper-rs
Google Photos не загружает все фотографии
Microsoft отметила, что это очень ранняя общедоступная предварительная версия, поэтому в будущем появится больше функций и исправлений. Домашняя страница проекта находится на GitHub: