Windows Tips & News

Microsoft ได้ประกาศโครงการ Rust/WinRT

click fraud protection

Microsoft ได้ประกาศโครงการ Rust/WinRT ที่ให้วิธีที่เป็นธรรมชาติและเป็นสำนวนสำหรับนักพัฒนา Rust ในการเรียกใช้ Windows API Rust/WinRT ให้คุณเรียก WinRT API ใด ๆ ในอดีต ปัจจุบัน และอนาคตโดยใช้รหัสที่สร้างขึ้นทันทีโดยตรงจากข้อมูลเมตาที่อธิบาย API และลงในแพ็คเกจ Rust ของคุณซึ่งคุณสามารถเรียกพวกเขาราวกับว่าพวกเขาเป็นเพียง Rust อีกตัวหนึ่ง โมดูล.

รันไทม์ของ Windows ขึ้นอยู่กับ Component Object Model (COM) APIs ภายใต้ประทุนและได้รับการออกแบบให้เข้าถึงได้ผ่านการฉายภาพภาษา เช่น C++/WinRT และ Rust/WinRT การคาดการณ์ภาษาเหล่านั้นใช้ข้อมูลเมตาที่อธิบาย API ต่างๆ และจัดเตรียมการเชื่อมโยงตามธรรมชาติสำหรับภาษาโปรแกรมเป้าหมาย ซึ่งช่วยให้นักพัฒนาสร้างแอปและส่วนประกอบสำหรับ Windows ได้ง่ายขึ้นโดยใช้ภาษาที่ต้องการ จากนั้นคุณสามารถใช้ Windows API เหล่านั้นเพื่อสร้างแอปเดสก์ท็อป แอปจัดเก็บ ส่วนประกอบ บริการ NT หรือไดรเวอร์อุปกรณ์

ด้านล่างนี้เป็นตัวอย่างง่ายๆ ของ Rust ที่เรียกใช้ Windows API

ใช้ windows:: data:: 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

Microsoft ตั้งข้อสังเกตว่านี่เป็นการแสดงตัวอย่างต่อสาธารณะในช่วงเริ่มต้น ดังนั้นจึงมีคุณลักษณะและการแก้ไขเพิ่มเติมในอนาคต หน้าแรกของโครงการอยู่บน GitHub:

https://github.com/microsoft/winrt-rs

Microsoft กำลังเปิดตัว Outlook.com Beta

Microsoft กำลังเปิดตัว Outlook.com Beta

ประกาศอย่างเป็นทางการฉบับใหม่เปิดเผยว่า Microsoft กำลังเปิดตัว Outlook.com รุ่นเบต้า บริการอีเมลแ...

อ่านเพิ่มเติม

คุณลักษณะที่เลิกใช้และถูกลบใน Windows 10 เวอร์ชัน 2004

คุณลักษณะที่เลิกใช้และถูกลบใน Windows 10 เวอร์ชัน 2004

Microsoft ได้ทำ Windows 10 เวอร์ชัน 2004 พร้อมใช้งานสำหรับทุกคน. ผู้ใช้ที่สนใจสามารถติดตั้งผ่าน W...

อ่านเพิ่มเติม

Edge ลบตัวเลือกการบล็อกออกจาก Media AutoPlay Blocking

เว็บไซต์นี้ใช้คุกกี้เพื่อปรับปรุงประสบการณ์ของคุณในขณะที่คุณสำรวจเว็บไซต์ จากคุกกี้เหล่านี้ คุกกี...

อ่านเพิ่มเติม