Microsoft heeft Rust/WinRT-project aangekondigd
Microsoft heeft een Rust/WinRT-project aangekondigd dat een natuurlijke en idiomatische manier biedt voor Rust-ontwikkelaars om Windows API's aan te roepen. Met Rust/WinRT kunt u elke WinRT API verleden, heden, en toekomstig met behulp van code die direct is gegenereerd vanuit de metadata die de API beschrijft en rechtstreeks in uw Rust-pakket, waar u ze kunt aanroepen alsof ze gewoon een andere Rust zijn module.
De Windows Runtime is gebaseerd op Component Object Model (COM) API's onder de motorkap en is ontworpen om toegankelijk te zijn via taalprojecties zoals C++/WinRT en Rust/WinRT. Die taalprojecties nemen de metadata die verschillende API's beschrijven en bieden natuurlijke bindingen voor de doelprogrammeertaal. Hierdoor kunnen ontwikkelaars gemakkelijker apps en componenten voor Windows bouwen in hun gewenste taal. U kunt die Windows-API's vervolgens gebruiken om desktop-apps te bouwen, apps op te slaan, een component, NT-service of apparaatstuurprogramma.
Hieronder ziet u een eenvoudig voorbeeld van Rust die een Windows API aanroept.
gebruik windows:: data:: xml:: dom::*; laat doc = XmlDocument:: new()?; doc.load_xml("Hallo Wereld")?; laat root = doc.document_element()?; bevestigen!(root.node_name()? == "html"); bevestigen!(root.inner_text()? == "hallo wereld");
Voor een meer betekenisvol voorbeeld kun je het volgende Mijnenveger-spel bekijken dat is geïmplementeerd met Rust/WinRT: https://github.com/robmikh/minesweeper-rs
Microsoft merkte op dat dit een zeer vroege openbare preview is, dus er zullen in de toekomst meer functies en oplossingen komen. De startpagina van het project staat op GitHub:
https://github.com/microsoft/winrt-rs