Microsoft ir paziņojis par Rust/WinRT projektu
Microsoft ir paziņojusi par Rust/WinRT projektu, kas nodrošina dabisku un idiomātisku veidu, kā Rust izstrādātāji var izsaukt Windows API. Rust/WinRT ļauj izsaukt jebkuru WinRT API pagātni, tagadni, un turpmāk izmantojot kodu, kas ģenerēts lidojumā tieši no metadatiem, kas apraksta API, un tieši savā Rust pakotnē, kur varat tos saukt tā, it kā tie būtu tikai vēl viens Rust modulis.
Windows izpildlaika pamatā ir komponentu objektu modeļa (COM) API, kas atrodas zem pārsega, un ir paredzēts, lai tam piekļūtu, izmantojot tādas valodas projekcijas kā C++/WinRT un Rust/WinRT. Šīs valodas projekcijas izmanto metadatus, kas apraksta dažādas API, un nodrošina dabiskus piesaistes mērķa programmēšanas valodai. Tas ļauj izstrādātājiem vieglāk izveidot lietotnes un komponentus operētājsistēmai Windows, izmantojot vēlamo valodu. Pēc tam varat izmantot šīs Windows API, lai izveidotu darbvirsmas lietojumprogrammas, uzglabātu programmas, komponentus, NT pakalpojumu vai ierīces draiveri.
Šeit ir vienkāršs piemērs, kā Rust izsauc Windows API.
izmantot windows:: data:: xml:: dom::*; let doc = XmlDocument:: new()?; doc.load_xml("Sveika pasaule")?; let root = doc.document_element()?; Assert!(root.node_name()? == "html"); apgalvot!(root.inner_text()? == "sveika pasaule");
Lai iegūtu jēgpilnāku piemēru, varat apskatīt šo Minesweeper spēli, kas ieviesta, izmantojot Rust/WinRT: https://github.com/robmikh/minesweeper-rs
Microsoft atzīmēja, ka šis ir ļoti agrīns publiskais priekšskatījums, tāpēc nākotnē būs pieejams vairāk funkciju un labojumu. Projekta mājas lapa atrodas GitHub:
https://github.com/microsoft/winrt-rs