Microsoft har annonceret Rust/WinRT-projekt
Microsoft har annonceret Rust/WinRT-projekt, der giver en naturlig og idiomatisk måde for Rust-udviklere at kalde Windows API'er. Rust/WinRT lader dig kalde enhver WinRT API fortid, nutid, og fremtidig ved at bruge kode genereret i farten direkte fra metadataene, der beskriver API'et og lige ind i din Rust-pakke, hvor du kan kalde dem, som om de bare var en anden Rust modul.
Windows Runtime er baseret på Component Object Model (COM) API'er under hætten og er designet til at blive tilgået gennem sprogprojektioner som C++/WinRT og Rust/WinRT. Disse sprogprojektioner tager metadataene, der beskriver forskellige API'er, og giver naturlige bindinger til målprogrammeringssproget. Dette giver udviklere mulighed for lettere at bygge apps og komponenter til Windows ved at bruge deres ønskede sprog. Du kan derefter bruge disse Windows API'er til at bygge desktop-apps, gemme apps, en komponent, NT-tjeneste eller enhedsdriver.
Her nedenfor er et simpelt eksempel på, at Rust kalder en Windows API.
brug windows:: data:: xml:: dom::*; let doc = XmlDocument:: new()?; doc.load_xml("Hej Verden")?; lad root = doc.document_element()?; hævde!(root.node_name()? == "html"); hævde!(root.inner_text()? == "hej verden");
For et mere meningsfuldt eksempel kan du tjekke følgende Minesweeper-spil implementeret ved hjælp af Rust/WinRT: https://github.com/robmikh/minesweeper-rs
Microsoft bemærkede, at dette er en meget tidlig offentlig forhåndsvisning, så der kommer flere funktioner og rettelser i fremtiden. Projektets hjemmeside er på GitHub:
https://github.com/microsoft/winrt-rs