Microsoft je napovedal projekt Rust/WinRT
Microsoft je napovedal projekt Rust/WinRT, ki razvijalcem Rust ponuja naraven in idiomatičen način, da kličejo Windows API-je. Rust/WinRT vam omogoča, da pokličete kateri koli WinRT API pretekli, sedanjost, in prihodnost z uporabo kode, ustvarjene sproti neposredno iz metapodatkov, ki opisujejo API, in naravnost v vaš paket Rust, kjer jih lahko pokličete, kot da so samo še en Rust modul.
Windows Runtime temelji na API-jih komponentnega objektnega modela (COM) pod pokrovom in je zasnovan za dostop prek jezikovnih projekcij, kot sta C++/WinRT in Rust/WinRT. Te jezikovne projekcije vzamejo metapodatke, ki opisujejo različne API-je, in zagotavljajo naravne vezi za ciljni programski jezik. To omogoča razvijalcem, da lažje izdelajo aplikacije in komponente za Windows z uporabo želenega jezika. Te API-je Windows lahko nato uporabite za izdelavo namiznih aplikacij, shranjevanja aplikacij, komponente, storitve NT ali gonilnika naprave.
Spodaj je preprost primer, kako Rust kliče Windows API.
uporabite windows:: data:: xml:: dom::*; pusti doc = XmlDocument:: new()?; doc.load_xml("Pozdravljen, svet")?; pusti koren = doc.document_element()?; trditi!(root.node_name()? == "html"); trditi!(root.inner_text()? == "zdravo svet");
Za bolj smiseln primer si lahko ogledate naslednjo igro Minesweeper, ki je implementirana z Rust/WinRT: https://github.com/robmikh/minesweeper-rs
Microsoft je opozoril, da je to zelo zgodnji javni predogled, zato bo v prihodnosti prišlo več funkcij in popravkov. Domača stran projekta je na GitHubu:
https://github.com/microsoft/winrt-rs