Worried about “modern” Rust GUI libraries
I've been following Rust GUI libraries for a year or so because, being mainly a Web Dev, I'm quite disappointed with the performance of modern web apps (and electron/tauri apps).
From what I've witnessed in the past year, I think a lot of people are investing their time in creating software with what I would call a "garbage based architecture", because it involves a lot of garbage collection, either manual or automatic.
To bring an example: System76 is trying to recreate an entire Desktop Environment, which will have a great impact on the popularity of some libraries, using the Elm architecture. Yew is also using a similar concept. The problem with this architecture is that when the state of a UI component changes (by user input or other means), all its descendants are also recreated (sometimes the architecture also employs techniques like diffing and memoization to make the process more efficient). As the application scales this becomes problematic.
Of course, because this software is being built with Rust, developers have at least a 5x performance multiplier with respect to an equivalent React application, so the problem is not immediately visible and won't ever be for small projects. But a DE or a professional program is orders of magnitude more complex than the average Web App, which means that the 5x multiplier won't last very long from a user perspective. I would also add that, while it may not be noticeable by the developer running a top-of-the-line machine, I'd really like to be able to open multiple applications without having my average laptop run hot and drain battery while doing simple tasks.
To add on to the last point, we could get to a point where Rust will get a lot of criticism by a lot of already skeptic developers that will compare Rust GUI programs with C/C++ ones created using the (not too-) good old imperative architecture and show how badly it performs in comparison, blaming Rust instead of the architecture for these shortcomings.
There is hope, though!
In the Web Development community a lot of popular React competitors are challenging this architecture to drastically improve performance while also keeping the declarative UI approach. Projects like Svelte, SolidJS, Vue, Preact and probably many many more are using or adopting a reactive system that works by rendering the UI once (!) and keeping track of where future updates may be needed, without having to recreate every UI element over and over just because an innocent boolean changes.