„Microsoft“ paskelbė „Rust“ / „WinRT“ projektą
Microsoft paskelbė apie Rust/WinRT projektą, kuris suteikia natūralų ir idiotišką būdą Rust kūrėjams iškviesti Windows API. Rust/WinRT leidžia iškviesti bet kurią WinRT API praeitį, esamą, ir ateityje naudodami kodą, sugeneruotą skrydžio metu tiesiai iš metaduomenų, apibūdinančių API, ir tiesiai į savo Rust paketą, kur galėsite juos vadinti taip, tarsi jie būtų tik dar vienas rūdys. modulis.
„Windows Runtime“ yra pagrįsta komponentų objektų modelio (COM) API, esančiais po gaubtu, ir yra sukurta taip, kad būtų galima pasiekti naudojant kalbos projekcijas, pvz., C++/WinRT ir Rust/WinRT. Šios kalbos projekcijos paima metaduomenis, apibūdinančius įvairias API, ir suteikia natūralų tikslinės programavimo kalbos susiejimą. Tai leidžia kūrėjams lengviau kurti programas ir komponentus, skirtus „Windows“ norima kalba. Tada galite naudoti tas „Windows“ API kurdami darbalaukio programas, saugodami programas, komponentą, NT paslaugą arba įrenginio tvarkyklę.
Žemiau pateikiamas paprastas pavyzdys, kaip Rust iškviečia Windows API.
naudoti windows:: data:: xml:: dom::*; tegul doc = XmlDocument:: new()?; doc.load_xml("Labas pasauli")?; tegul šaknis = doc.document_element()?; Assert!(root.node_name()? == "html"); Assert!(root.inner_text()? == "sveikas pasaulis");
Norėdami gauti prasmingesnį pavyzdį, galite peržiūrėti šį Minesweeper žaidimą, įdiegtą naudojant Rust/WinRT: https://github.com/robmikh/minesweeper-rs
„Microsoft“ pažymėjo, kad tai labai ankstyva vieša peržiūra, todėl ateityje bus daugiau funkcijų ir pataisymų. Pagrindinis projekto puslapis yra GitHub:
https://github.com/microsoft/winrt-rs