Microsoft Anuncia Projeto Rust / WinRT
A Microsoft anunciou o projeto Rust / WinRT que fornece uma maneira natural e idiomática para os desenvolvedores Rust chamarem APIs do Windows. Rust / WinRT permite chamar qualquer API WinRT passado, presente, e no futuro, usando o código gerado em tempo real, diretamente dos metadados que descrevem a API e direto em seu pacote Rust, onde você pode chamá-los como se fossem apenas outro Rust módulo.
O Windows Runtime é baseado em APIs de COM (Component Object Model) subjacentes e foi projetado para ser acessado por meio de projeções de linguagem como C ++ / WinRT e Rust / WinRT. Essas projeções de linguagem usam os metadados que descrevem várias APIs e fornecem ligações naturais para a linguagem de programação de destino. Isso permite que os desenvolvedores criem aplicativos e componentes para o Windows com mais facilidade usando o idioma desejado. Você pode então usar essas APIs do Windows para criar aplicativos de desktop, armazenar aplicativos, um componente, serviço NT ou driver de dispositivo.
Aqui abaixo está um exemplo simples de Rust chamando uma API do Windows.
use windows:: data:: xml:: dom:: *; let doc = XmlDocument:: new ()?; doc.load_xml ("Olá Mundo")?; let root = doc.document_element ()?; afirmar! (root.node_name ()? == "html"); afirmar! (root.inner_text ()? == "olá mundo");
Para obter um exemplo mais significativo, você pode verificar o seguinte jogo de Campo Minado implementado usando Rust / WinRT: https://github.com/robmikh/minesweeper-rs
A Microsoft observou que esta é uma prévia pública muito cedo, portanto, mais recursos e correções virão no futuro. A página inicial do projeto está no GitHub:
https://github.com/microsoft/winrt-rs