Microsoft Telah Mengumumkan Proyek Rust/WinRT
Microsoft telah mengumumkan proyek Rust/WinRT yang menyediakan cara alami dan idiomatis bagi pengembang Rust untuk memanggil Windows API. Rust/WinRT memungkinkan Anda memanggil semua WinRT API dulu, sekarang, dan di masa depan menggunakan kode yang dihasilkan dengan cepat langsung dari metadata yang menjelaskan API dan langsung ke paket Rust Anda di mana Anda dapat memanggilnya seolah-olah mereka hanyalah Rust lainnya modul.
Windows Runtime didasarkan pada Component Object Model (COM) API di bawah kap dan dirancang untuk diakses melalui proyeksi bahasa seperti C++/WinRT dan Rust/WinRT. Proyeksi bahasa tersebut mengambil metadata yang menjelaskan berbagai API dan menyediakan ikatan alami untuk bahasa pemrograman target. Hal ini memungkinkan pengembang untuk lebih mudah membangun aplikasi dan komponen untuk Windows menggunakan bahasa yang diinginkan. Anda kemudian dapat menggunakan API Windows tersebut untuk membangun aplikasi desktop, menyimpan aplikasi, komponen, layanan NT, atau driver perangkat.
Berikut di bawah ini adalah contoh sederhana dari Rust yang memanggil Windows API.
gunakan windows:: data:: xml:: dom::*; biarkan doc = XmlDocument:: new()?; doc.load_xml("Halo Dunia")?; biarkan root = doc.document_element()?; tegaskan!(root.node_name()? == "html"); tegaskan!(root.inner_text()? == "halo dunia");
Untuk contoh yang lebih bermakna, Anda dapat melihat game Minesweeper berikut yang diimplementasikan menggunakan Rust/WinRT: https://github.com/robmikh/minesweeper-rs
Microsoft mencatat bahwa ini adalah pratinjau publik yang sangat awal, sehingga lebih banyak fitur dan perbaikan akan datang di masa mendatang. Halaman beranda proyek ada di GitHub:
https://github.com/microsoft/winrt-rs