Microsoft a anunțat proiectul Rust/WinRT
Microsoft a anunțat proiectul Rust/WinRT care oferă o modalitate naturală și idiomatică pentru dezvoltatorii Rust de a apela API-urile Windows. Rust/WinRT vă permite să apelați orice API WinRT trecut, prezent, și viitor folosind codul generat din mers direct din metadatele care descriu API-ul și direct în pachetul tău Rust, unde le poți apela ca și cum ar fi doar un alt Rust modul.
Windows Runtime se bazează pe API-urile Component Object Model (COM) sub capotă și este proiectat pentru a fi accesat prin proiecții de limbaj precum C++/WinRT și Rust/WinRT. Acele proiecții de limbaj preiau metadatele care descriu diverse API-uri și oferă legături naturale pentru limbajul de programare țintă. Acest lucru le permite dezvoltatorilor să creeze mai ușor aplicații și componente pentru Windows folosind limba dorită. Puteți utiliza apoi acele API-uri Windows pentru a crea aplicații desktop, a stoca aplicații, o componentă, un serviciu NT sau un driver de dispozitiv.
Mai jos este un exemplu simplu în care Rust apelează la un API Windows.
folosește windows:: data:: xml:: dom::*; let doc = XmlDocument:: new()?; doc.load_xml("Salut Lume")?; let root = doc.document_element()?; assert!(root.node_name()? == "html"); assert!(root.inner_text()? == „bună lume”);
Pentru un exemplu mai semnificativ, puteți consulta următorul joc Minesweeper implementat folosind Rust/WinRT: https://github.com/robmikh/minesweeper-rs
Microsoft a remarcat că aceasta este o previzualizare publică foarte timpurie, așa că mai multe funcții și remedieri vor veni în viitor. Pagina de start a proiectului este pe GitHub:
https://github.com/microsoft/winrt-rs