Microsoft on välja kuulutanud Rust/WinRT projekti
Microsoft on teatanud Rust/WinRT projektist, mis pakub Rusti arendajatele loomulikku ja idiomaatilise viisi Windowsi API-de kutsumiseks. Rust/WinRT võimaldab helistada mis tahes WinRT API-le minevikus, olevikus, ja edaspidi kasutades koodi, mis genereeritakse käigupealt otse API-d kirjeldavatest metaandmetest ja otse oma Rusti paketti, kus saate neid kutsuda nii, nagu need oleksid lihtsalt üks Rust. moodul.
Windows Runtime põhineb kapoti all olevatel komponentobjektimudeli (COM) API-del ja on loodud juurdepääsuks keeleprojektsioonide kaudu, nagu C++/WinRT ja Rust/WinRT. Need keeleprojektsioonid võtavad metaandmeid, mis kirjeldavad erinevaid API-sid ja pakuvad sihtprogrammeerimiskeele loomulikke seoseid. See võimaldab arendajatel hõlpsamini luua rakendusi ja komponente Windowsi jaoks soovitud keeles. Seejärel saate neid Windowsi API-sid kasutada töölauarakenduste loomiseks, rakenduste, komponendi, NT-teenuse või seadme draiveri salvestamiseks.
Allpool on lihtne näide sellest, kuidas Rust helistab Windows API-le.
kasuta windows:: data:: xml:: dom::*; let doc = XmlDocument:: new()?; doc.load_xml("Tere, Maailm")?; let root = doc.document_element()?; assert!(root.node_name()? == "html"); assert!(root.inner_text()? == "tere maailm");
Mõttekama näite saamiseks võite vaadata järgmist Rust/WinRT-ga rakendatud mängu Minesweeper: https://github.com/robmikh/minesweeper-rs
Microsoft märkis, et see on väga varane avalik eelvaade, nii et tulevikus on tulemas rohkem funktsioone ja parandusi. Projekti koduleht on GitHubis:
https://github.com/microsoft/winrt-rs