Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
yet-another-bevy-project
Template for a Bevy game including CI/CD and releases for web, Windows, Linux, and macOS
-
perseus
A state-driven web development framework for Rust with full support for server-side rendering and static generation.
-
slint
Slint is a declarative GUI toolkit to build native user interfaces for Rust, C++, or JavaScript apps.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
For dynamic documents CSS becomes a disaster: visial effect described in two lines of CSS may require billions of instructions to render it. Because there are no limitations for how big of a change any tiny CSS manipulation may cause. This leads to crazy cases like when a blinking cursor takes 13% of CPU time.
There are other libraries like sycamore and leptos that don't do diffing and instead precisely track which parts of the UI needs to be updated using reactive programming.
For iced, it looks like they are working on the necessary changes to implement incremental updates (RFC here, mentioned in this issue)
Over in Bevy game dev world, this person is trying to apply the NgRx architecture to their UI & ECS packages.
Slint [https://slint-ui.com] is a modern Rust GUI library. It is not a Web library, and is taking performances seriously. Slint can scale down to embedded devices with less than 300kB of RAM (yes, kB, not MB). To get a decent refresh rate when something changes it does not rebuilt the whole UI every frame, but carefully track changes and only redraw the region of the screen that have changed.
Well, Dioxus (https://dioxuslabs.com/) seems like it feeds the exact same DOM to a Webview, via Tauri. I don't see why all of them couldn't do the exact same, as long as you're okay with the Electron/Tauri level of "nativeness".