Microsoft oznámil projekt Rust/WinRT
Společnost Microsoft oznámila projekt Rust/WinRT, který poskytuje vývojářům Rust přirozený a idiomatický způsob volání rozhraní Windows API. Rust/WinRT vám umožňuje volat jakékoli WinRT API minulé, současné, a v budoucnu pomocí kódu generovaného za běhu přímo z metadat popisujících API a přímo do vašeho balíčku Rust, kde je můžete volat, jako by to byl jen další Rust modul.
Windows Runtime je založeno na rozhraních COM (Component Object Model) API pod kapotou a je navrženo pro přístup prostřednictvím jazykových projekcí jako C++/WinRT a Rust/WinRT. Tyto jazykové projekce berou metadata popisující různá rozhraní API a poskytují přirozené vazby pro cílový programovací jazyk. To umožňuje vývojářům snadněji vytvářet aplikace a komponenty pro Windows pomocí jejich požadovaného jazyka. Tato rozhraní Windows API pak můžete použít k vytváření aplikací pro stolní počítače, ukládání aplikací, komponent, služby NT nebo ovladače zařízení.
Zde níže je jednoduchý příklad volání Rust Windows API.
použít windows:: data:: xml:: dom::*; let doc = XmlDocument:: new()?; doc.load_xml("Ahoj světe")?; let root = doc.document_element()?; tvrdit!(root.název_uzlu()? == "html"); tvrdit!(root.inner_text()? == "ahoj světe");
Pro smysluplnější příklad se můžete podívat na následující hru Hledání min implementovanou pomocí Rust/WinRT: https://github.com/robmikh/minesweeper-rs
Microsoft poznamenal, že se jedná o velmi ranou veřejnou verzi, takže v budoucnu přijdou další funkce a opravy. Domovská stránka projektu je na GitHubu:
https://github.com/microsoft/winrt-rs