Microsoft는 Rust/WinRT 프로젝트를 발표했습니다.
Microsoft는 Rust 개발자가 Windows API를 호출할 수 있는 자연스럽고 관용적인 방법을 제공하는 Rust/WinRT 프로젝트를 발표했습니다. Rust/WinRT를 사용하면 과거, 현재, API를 설명하는 메타데이터에서 곧바로 생성된 코드를 사용하여 미래에 Rust 패키지로 바로 이동하여 마치 또 다른 Rust인 것처럼 호출할 수 있습니다. 기준 치수.
Windows 런타임은 내부적으로 COM(구성 요소 개체 모델) API를 기반으로 하며 C++/WinRT 및 Rust/WinRT와 같은 언어 프로젝션을 통해 액세스하도록 설계되었습니다. 이러한 언어 프로젝션은 다양한 API를 설명하는 메타데이터를 사용하고 대상 프로그래밍 언어에 대한 자연스러운 바인딩을 제공합니다. 이를 통해 개발자는 원하는 언어를 사용하여 Windows용 앱과 구성 요소를 보다 쉽게 구축할 수 있습니다. 그런 다음 이러한 Windows API를 사용하여 데스크톱 앱을 빌드하고 앱, 구성 요소, NT 서비스 또는 장치 드라이버를 저장할 수 있습니다.
다음은 Windows API를 호출하는 Rust의 간단한 예입니다.
윈도우 사용:: 데이터:: xml:: dom::*; let doc = XmlDocument:: new()?; doc.load_xml("안녕하세요 세계")?; 루트 = doc.document_element()?; 주장!(root.node_name()? == "html"); 주장!(root.inner_text()? == "안녕하세요");
더 의미 있는 예를 보려면 Rust/WinRT를 사용하여 구현된 다음 지뢰 찾기 게임을 확인할 수 있습니다. https://github.com/robmikh/minesweeper-rs
Microsoft는 이것이 매우 초기 공개 미리 보기이므로 앞으로 더 많은 기능과 수정 사항이 제공될 것이라고 언급했습니다. 프로젝트의 홈 페이지는 GitHub에 있습니다.
https://github.com/microsoft/winrt-rs