Why We're Rewriting Astropad in Rust
blog.astropad.com
Why We're Rewriting Astropad in Rust
1–5 of 5 posts
Re: Why We're Rewriting Astropad in Rust
#2Choosing 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-...
Re: Why We're Rewriting Astropad in Rust
#3Re: Why We're Rewriting Astropad in Rust
#4I'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.
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.
Re: Why We're Rewriting Astropad in Rust
#5I'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.