3 ms·
Why We're Rewriting Astropad in Rust
- rvz 7y agoFor 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. [0] - https://blog.astropad.com/sherlocked-by-apple/#more-6368 https://blog.astropad.com/sherlocked-by-apple/#more-6368 [1] - https://www.apple.com/newsroom/2019/06/apple-previews-macos-catalina/ https://www.apple.com/newsroom/2019/06/apple-previews-macos-...
- pnako 7y agoI'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.
- mronge 7y agoThat'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.
- pnako 7y agoOh, 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.