Microsoft oznámil projekt Rust/WinRT
Spoločnosť Microsoft oznámila projekt Rust/WinRT, ktorý poskytuje prirodzený a idiomatický spôsob, ako môžu vývojári Rust volať rozhrania Windows API. Rust/WinRT vám umožňuje volať akékoľvek WinRT API minulé, súčasné, a budúcnosti pomocou kódu generovaného za behu priamo z metadát popisujúcich API a priamo do vášho balíka Rust, kde ich môžete volať, akoby to bol len ďalší Rust modul.
Windows Runtime je založený na COM (Component Object Model) API pod kapotou a je navrhnutý tak, aby bol prístupný cez jazykové projekcie ako C++/WinRT a Rust/WinRT. Tieto jazykové projekcie berú metadáta popisujúce rôzne API a poskytujú prirodzené väzby pre cieľový programovací jazyk. To umožňuje vývojárom jednoduchšie vytvárať aplikácie a komponenty pre Windows pomocou ich požadovaného jazyka. Tieto rozhrania Windows API potom môžete použiť na vytváranie aplikácií pre stolné počítače, ukladanie aplikácií, komponent, službu NT alebo ovládač zariadenia.
Nižšie je uvedený jednoduchý príklad volania Rust cez Windows API.
použite windows:: data:: xml:: dom::*; let doc = XmlDocument:: new()?; doc.load_xml("ahoj svet")?; nech root = doc.prvok_dokumentu()?; tvrdiť!(root.názov_uzla()? == "html"); tvrdiť!(root.inner_text()? == "ahoj svet");
Pre zmysluplnejší príklad si môžete pozrieť nasledujúcu hru Minesweeper implementovanú pomocou Rust/WinRT: https://github.com/robmikh/minesweeper-rs
Microsoft poznamenal, že ide o veľmi skorú verejnú ukážku, takže v budúcnosti prídu ďalšie funkcie a opravy. Domovská stránka projektu je na GitHub:
https://github.com/microsoft/winrt-rs