מיקרוסופט הכריזה על פרויקט Rust/WinRT
מיקרוסופט הכריזה על פרויקט Rust/WinRT המספק דרך טבעית ואידיומטית למפתחי Rust לקרוא ל-Windows APIs. Rust/WinRT מאפשר לך לקרוא לכל WinRT API בעבר, בהווה, ובעתיד שימוש בקוד שנוצר תוך כדי תנועה ישירות מהמטא-נתונים המתארים את ה-API וישר לתוך חבילת Rust שלך, שם אתה יכול לקרוא להם כאילו הם רק עוד Rust מודול.
זמן הריצה של Windows מבוסס על ממשקי API של Component Object Model (COM) מתחת למכסה המנוע ונועד לגישה באמצעות תחזיות שפה כמו C++/WinRT ו-Rust/WinRT. תחזיות השפה הללו לוקחות את המטא נתונים המתארים ממשקי API שונים ומספקות כריכות טבעיות לשפת התכנות היעד. זה מאפשר למפתחים לבנות בקלות רבה יותר אפליקציות ורכיבים עבור Windows תוך שימוש בשפה הרצויה להם. לאחר מכן תוכל להשתמש בממשקי ה-API של Windows כדי לבנות אפליקציות שולחן עבודה, לאחסן אפליקציות, רכיב, שירות NT או מנהל התקן.
להלן דוגמה פשוטה של Rust הקוראת ל-API של Windows.
השתמש ב-Windows:: data:: xml:: dom::*; let doc = XmlDocument:: new()?; doc.load_xml("שלום עולם")?; let root = doc.document_element()?; assert!(root.node_name()? == "html"); assert!(root.inner_text()? == "שלום עולם");
לדוגמא משמעותית יותר, אתה יכול לבדוק את משחק שולה המוקשים הבא מיושם באמצעות Rust/WinRT: https://github.com/robmikh/minesweeper-rs
מיקרוסופט ציינה שזוהי תצוגה מקדימה ציבורית מוקדמת מאוד, כך שעוד תכונות ותיקונים יגיעו בעתיד. עמוד הבית של הפרויקט נמצא ב-GitHub:
https://github.com/microsoft/winrt-rs