Worried about “modern” Rust GUI libraries

This page summarizes the projects mentioned and recommended in the original post on /r/rust

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • Visual Studio Code

    Visual Studio Code

  • 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.

  • sycamore

    A library for creating reactive web apps in Rust and WebAssembly

  • 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.

  • 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.

    InfluxDB logo
  • iced

    A cross-platform GUI library for Rust, inspired by Elm

  • For iced, it looks like they are working on the necessary changes to implement incremental updates (RFC here, mentioned in this issue)

  • yet-another-bevy-project

    Template for a Bevy game including CI/CD and releases for web, Windows, Linux, and macOS

  • Over in Bevy game dev world, this person is trying to apply the NgRx architecture to their UI & ECS packages.

  • 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.

  • 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.

  • dioxus

    Fullstack GUI library for web, desktop, mobile, and more.

  • 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".

  • 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.

    WorkOS logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts