Microsoft-მა გამოაცხადა Rust/WinRT პროექტი
Microsoft-მა გამოაცხადა Rust/WinRT პროექტი, რომელიც უზრუნველყოფს Rust-ის დეველოპერებს Windows API-ების გამოძახების ბუნებრივ და იდიომატურ გზას. Rust/WinRT საშუალებას გაძლევთ დარეკოთ ნებისმიერი WinRT API წარსული, აწმყო, და მომავალში გენერირებული კოდის გამოყენებით პირდაპირ API-ს აღწერის მეტამონაცემებიდან და პირდაპირ თქვენს Rust პაკეტში, სადაც შეგიძლიათ დარეკოთ ისე, თითქოს ისინი უბრალოდ სხვა Rust იყვნენ. მოდული.
Windows Runtime ეფუძნება Component Object Model (COM) API-ებს ქუდის ქვეშ და შექმნილია ისეთი ენობრივი პროგნოზების საშუალებით, როგორიცაა C++/WinRT და Rust/WinRT. ეს ენობრივი პროგნოზები იღებენ მეტამონაცემებს, რომლებიც აღწერს სხვადასხვა API-ს და უზრუნველყოფს ბუნებრივ კავშირებს სამიზნე პროგრამირების ენისთვის. ეს საშუალებას აძლევს დეველოპერებს უფრო მარტივად შექმნან აპები და კომპონენტები Windows-ისთვის სასურველი ენის გამოყენებით. შემდეგ შეგიძლიათ გამოიყენოთ Windows API-ები დესკტოპის აპების, აპების შესანახად, კომპონენტის, NT სერვისის ან მოწყობილობის დრაივერის შესაქმნელად.
ქვემოთ მოცემულია Rust-ის Windows API-ის გამოძახების მარტივი მაგალითი.
გამოიყენეთ Windows:: მონაცემები:: xml:: dom::*; მოდით doc = XmlDocument:: new()?; doc.load_xml("გამარჯობა მსოფლიო")?; მოდით root = doc.document_element()?; მტკიცება!(root.node_name()? == "html"); ამტკიცებენ!(root.inner_text()? == "გამარჯობა სამყარო");
უფრო მნიშვნელოვანი მაგალითისთვის, შეგიძლიათ ნახოთ შემდეგი Minesweeper თამაში, რომელიც განხორციელდა Rust/WinRT-ის გამოყენებით: https://github.com/robmikh/minesweeper-rs
მაიკროსოფტმა აღნიშნა, რომ ეს არის ძალიან ადრეული საჯარო გადახედვა, ასე რომ, მომავალში უფრო მეტი ფუნქცია და გამოსწორება იქნება. პროექტის მთავარი გვერდი GitHub-ზეა:
https://github.com/microsoft/winrt-rs