Microsoft har kunngjort Rust/WinRT-prosjektet
Microsoft har annonsert Rust/WinRT-prosjekt som gir en naturlig og idiomatisk måte for Rust-utviklere å kalle Windows APIer. Rust/WinRT lar deg kalle hvilken som helst WinRT API fortid, nåtid, og fremtidig ved å bruke kode generert direkte fra metadataene som beskriver API og rett inn i Rust-pakken din, hvor du kan kalle dem som om de bare var en annen Rust modul.
Windows Runtime er basert på Component Object Model (COM) API-er under panseret og er designet for å nås gjennom språkprojeksjoner som C++/WinRT og Rust/WinRT. Disse språkprojeksjonene tar metadataene som beskriver ulike APIer og gir naturlige bindinger for målprogrammeringsspråket. Dette lar utviklere lettere bygge apper og komponenter for Windows ved å bruke ønsket språk. Du kan deretter bruke disse Windows API-ene til å bygge skrivebordsapper, lagre apper, en komponent, NT-tjeneste eller enhetsdriver.
Her nedenfor er et enkelt eksempel på at Rust kaller et Windows API.
bruk windows:: data:: xml:: dom::*; let doc = XmlDocument:: new()?; doc.load_xml("Hei Verden")?; la root = doc.document_element()?; hevde!(root.node_name()? == "html"); hevde!(root.inner_text()? == "hei verden");
For et mer meningsfullt eksempel kan du sjekke ut følgende Minesveiper-spill implementert med Rust/WinRT: https://github.com/robmikh/minesweeper-rs
Microsoft bemerket at dette er en veldig tidlig offentlig forhåndsvisning, så flere funksjoner og rettelser kommer i fremtiden. Hjemmesiden til prosjektet er på GitHub:
https://github.com/microsoft/winrt-rs