Microsoft on ilmoittanut Rust/WinRT-projektista
Microsoft on julkistanut Rust/WinRT-projektin, joka tarjoaa Rust-kehittäjille luonnollisen ja idiomaattisen tavan kutsua Windows-sovellusliittymiä. Rust/WinRT antaa sinun kutsua mitä tahansa WinRT API: ta menneisyydessä, nykyisessä, ja tulevaisuudessa käyttämällä koodia, joka on luotu lennossa suoraan API: ta kuvaavista metatiedoista ja suoraan Rust-pakettiisi, jossa voit kutsua niitä ikään kuin ne olisivat vain yksi ruoste moduuli.
Windows Runtime perustuu konepellin alla oleviin Component Object Model (COM) API: ihin, ja se on suunniteltu käytettäväksi kieliprojektioiden, kuten C++/WinRT ja Rust/WinRT, kautta. Nämä kieliprojektiot ottavat metatiedot, jotka kuvaavat erilaisia sovellusliittymiä ja tarjoavat luonnollisia sidoksia kohdeohjelmointikielelle. Näin kehittäjät voivat helpommin rakentaa sovelluksia ja komponentteja Windowsille haluamallaan kielellä. Voit sitten käyttää näitä Windows-sovellusliittymiä luodaksesi työpöytäsovelluksia, tallentaaksesi sovelluksia, komponentteja, NT-palveluita tai laiteajureita.
Alla on yksinkertainen esimerkki siitä, kuinka Rust kutsuu Windows API: ta.
käytä windows:: data:: xml:: dom::*; anna doc = XmlDocument:: new()?; doc.load_xml("Hei maailma")?; anna root = doc.document_element()?; assert!(root.node_name()? == "html"); assert!(root.inner_text()? == "hei maailma");
Merkittävämpää esimerkkiä varten voit katsoa seuraavaa Rust/WinRT: llä toteutettua Miinaharava-peliä: https://github.com/robmikh/minesweeper-rs
Microsoft huomautti, että tämä on hyvin varhainen julkinen esikatselu, joten lisää ominaisuuksia ja korjauksia on tulossa tulevaisuudessa. Projektin kotisivu on GitHubissa:
https://github.com/microsoft/winrt-rs