Microsoft ha anunciado el proyecto Rust / WinRT
Microsoft ha anunciado el proyecto Rust / WinRT que proporciona una forma natural e idiomática para que los desarrolladores de Rust llamen a las API de Windows. Rust / WinRT le permite llamar a cualquier API de WinRT pasado, presente, y futuro usando código generado sobre la marcha directamente a partir de los metadatos que describen la API y directamente en su paquete de Rust, donde puede llamarlos como si fueran solo otro Rust módulo.
Windows Runtime se basa en las API del Modelo de objetos componentes (COM) bajo el capó y está diseñado para ser accedido a través de proyecciones de lenguaje como C ++ / WinRT y Rust / WinRT. Esas proyecciones de lenguaje toman los metadatos que describen varias API y proporcionan enlaces naturales para el lenguaje de programación de destino. Esto permite a los desarrolladores crear más fácilmente aplicaciones y componentes para Windows utilizando el idioma deseado. Luego, puede usar esas API de Windows para crear aplicaciones de escritorio, almacenar aplicaciones, un componente, un servicio NT o un controlador de dispositivo.
A continuación, se muestra un ejemplo simple de cómo Rust llama a una API de Windows.
use windows:: data:: xml:: dom:: *; let doc = XmlDocument:: new ()?; doc.load_xml ("Hola Mundo")?; let root = doc.document_element ()?; afirmar! (root.node_name ()? == "html"); afirmar! (root.inner_text ()? == "hola mundo");
Para obtener un ejemplo más significativo, puede consultar el siguiente juego Buscaminas implementado con Rust / WinRT: https://github.com/robmikh/minesweeper-rs
Microsoft señaló que esta es una vista previa pública muy temprana, por lo que habrá más funciones y correcciones en el futuro. La página de inicio del proyecto está en GitHub:
https://github.com/microsoft/winrt-rs