For those who haven't heard, Astropad allows illustrators, artists and animators to turn their existing iPad into a professional graphics tablet for macOS.
Choosing Rust to meet the cross-platform requirements for Astropad is a great choice and a interesting one. I have read the previous article [0] on how Astropad was unfortunately Sherlocked by Apple [1] in the Catalina + iPadOS Sidecar feature and given that Astropad works only on macOS, it makes sense to become cross-platform to bring Astropad onto platforms like Windows or Linux since Apple only cares about its walled-garden. So I'm very happy to see Astropad take this move into trying Rust.
I'm curious what they use for the GUI.
C++ with Qt might have been a safer choice. Like most Rust advocacy articles, it says it rejects "C/C++" because of the flaws of C.
That's a great question. Our UI is pretty light on the desktop side and most of the complex UI is on the iPad which we don't have to rewrite (yet). So we will most likely use the native UI APIs and use Rust's excellent FFI support.
C++ would have been a safe choice, but then well... we'd be stuck using C++. We still do use C++, a lot of our video codec is in C/C++ but parts outside of that will be Rust.
Oh, I see. I thought you wanted to recreate the whole thing on Windows, but it looks like you just stream the iPad screen onto the desktop. In which case you can indeed probably just use Win32 and DirectX.
Choosing Rust to meet the cross-platform requirements for Astropad is a great choice and a interesting one. I have read the previous article [0] on how Astropad was unfortunately Sherlocked by Apple [1] in the Catalina + iPadOS Sidecar feature and given that Astropad works only on macOS, it makes sense to become cross-platform to bring Astropad onto platforms like Windows or Linux since Apple only cares about its walled-garden. So I'm very happy to see Astropad take this move into trying Rust.
[0] - https://blog.astropad.com/sherlocked-by-apple/#more-6368
[1] - https://www.apple.com/newsroom/2019/06/apple-previews-macos-...