Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
ntfs
An implementation of the NTFS filesystem in a Rust crate, usable from firmware level up to user-mode.
-
xwin
A utility for downloading and packaging the Microsoft CRT headers and libraries, and Windows SDK headers and libraries needed for compiling and linking programs targeting Windows.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
Have you tried using them via vscode? :)
Microsoft is getting behind Rust with things like this guide and these API bindings.
The most exciting windows project I'm following is /u/ColinFinck's NTFS implementation. It's exciting for what it's doing, and exciting for the kinds of GUIs and tools that can be built on top of it
At work we use Rust for low-level access to Windows APIs (we wanted more control than with C#, but without the pain of C or C++). It works decently well for everything from low-level Windows API tricks, over GUI (ok, we are cheating and using Sciter bindings) up to the server side.
I'm using Rust on Windows (msvc, no WSL), and I don't have any issues with it. Lately, I've written a simple gui application music-vibes using egui crate. It's currently Windows-only, only because it depends on my audio-capture crate, and I have only written Windows backend for now.
I will do you one better. When I do windows development, I work within WSL and use the cross-compiler toolchain to generate windows binaries. I have found "Xwin" to be very useful for this: https://github.com/Jake-Shadle/xwin
I've done a little bit of Rust development on Windows and had a good experience. I ported my (still unfinished) Umpire game to Windows pretty easily. I had to rename some files that had colons in the filename which Windows didn't like. The actual hard part was the terminal library, but switching to crossterm was pretty straightforward. All in all it was pretty painless.