I ended up taking into a dive into the state of #Rust on the web this morning. Looks like lots of progress has been made since the last time I checked!
You can call browser APIs from Rust now thanks to efforts like wasm-bindgen and web-sys. It looks a bit clunky, but it's effective. And I wonder about the wasm->jsvm->native pipeline (and back) and its effect on performance. Seems like that jsvm layer doesn't need to be there, but we haven't gotten rid of it just yet.
So if you want to make a regular front-end web app in Rust? Go nuts, it'll probably work well enough. And things like Yew and Trunk even make it rather nice in DX terms.
But for my own projects mostly building privacy-respecting-apps-as-browser-extensions, it looks like Rust isn't quite ready yet, but it's close. The key missing piece seems to be access to browser extension APIs. There's a web-extensions-sys project, but it's only targeting manifest V3 for some reason, which means FireFox support is completely out.
Although I'd love to switch my front-end work to use Rust, looks like I'm stuck with javascript (and jsdoc) for now.
@cuchaz Apparently web-extensions-sys provides partial support for Firefox but it's hidden behind
firefox
featurehttps://github.com/web-extensions-rs/web-extensions-sys/pull/40/files