Rust GUI framework

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

CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
InfluxDB high-performance time series database
Collect, organize, and act on massive volumes of high-resolution data to power real-time intelligent systems.
influxdata.com
featured
  1. flutter_embedder

    Flutter embedder written in Rust (WIP)

    I personally settled on Flutter. It's a modern declarative UI framework by Google that was designed for mobile apps, but it can also do desktop and web these days. It can be used as a library using its embedder API that can render to Vulkan, Metal and OpenGL. So, it can be embedded in a wgpu context (here's my prototype for that based on wgpu/Vulkan and winit). Flutter uses Dart for UI programming, which is fine for me, since a lot of iteration is necessary for that, and Flutter allows Dart code to be hot reloaded during development (so you just have to save your file and the running application is updated automatically, keeping all of its state intact). Rust wouldn't be able to do that at the moment. Web support is trivial, because Flutter Web allows integrating HTML elements between its UI layers. I can simply insert a canvas there and link that to wgpu.

  2. CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
  3. flutter_rust_bridge

    Flutter/Dart <-> Rust binding generator, feature-rich, but seamless and simple.

    There's the flutter_rust_bridge project that allows interop between Rust and Dart, allowing the Flutter part to communicate directly with the 3D rendering part written in Rust. I've spent the last two weeks getting the bridge to the point where I can use it. It's still a bit rough, especially around async, but it works so far on both web and native.

  4. Godot

    Godot Engine – Multi-platform 2D and 3D game engine

    You also have Godot. It is a game engine and while you will need some setup for using rust it will make developing your application way easier:

  5. iced

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

    There is Iced which is used by system76 in Pop!_OS, Druid [DISCONTINUED], GTK-rs, Relm, Azul and Tauri. Personally I would use Tauri for its speed using the OS's native web render, documentation of use with things such as Sveltekit and the ability to make UI's using JS, CSS and HTML. Tauri similarly to Electron whilst being far faster. But its up to personal preference really. There aren't any solid "go to" options at the moment.

  6. druid

    A data-first Rust-native UI design toolkit. (by linebender)

    There is Iced which is used by system76 in Pop!_OS, Druid [DISCONTINUED], GTK-rs, Relm, Azul and Tauri. Personally I would use Tauri for its speed using the OS's native web render, documentation of use with things such as Sveltekit and the ability to make UI's using JS, CSS and HTML. Tauri similarly to Electron whilst being far faster. But its up to personal preference really. There aren't any solid "go to" options at the moment.

  7. relm

    Idiomatic, GTK+-based, GUI library, inspired by Elm, written in Rust

    There is Iced which is used by system76 in Pop!_OS, Druid [DISCONTINUED], GTK-rs, Relm, Azul and Tauri. Personally I would use Tauri for its speed using the OS's native web render, documentation of use with things such as Sveltekit and the ability to make UI's using JS, CSS and HTML. Tauri similarly to Electron whilst being far faster. But its up to personal preference really. There aren't any solid "go to" options at the moment.

  8. Azul

    Desktop GUI Framework

    There is Iced which is used by system76 in Pop!_OS, Druid [DISCONTINUED], GTK-rs, Relm, Azul and Tauri. Personally I would use Tauri for its speed using the OS's native web render, documentation of use with things such as Sveltekit and the ability to make UI's using JS, CSS and HTML. Tauri similarly to Electron whilst being far faster. But its up to personal preference really. There aren't any solid "go to" options at the moment.

  9. InfluxDB

    InfluxDB high-performance time series database. Collect, organize, and act on massive volumes of high-resolution data to power real-time intelligent systems.

    InfluxDB logo
  10. tauri

    Build smaller, faster, and more secure desktop and mobile applications with a web frontend.

    There is Iced which is used by system76 in Pop!_OS, Druid [DISCONTINUED], GTK-rs, Relm, Azul and Tauri. Personally I would use Tauri for its speed using the OS's native web render, documentation of use with things such as Sveltekit and the ability to make UI's using JS, CSS and HTML. Tauri similarly to Electron whilst being far faster. But its up to personal preference really. There aren't any solid "go to" options at the moment.

  11. egui

    egui: an easy-to-use immediate mode GUI in Rust that runs on both web and native

    egui

  12. dioxus

    Fullstack app framework for web, desktop, mobile, and more.

    Dioxus

  13. freya

    Cross-platform GUI library for 🦀 Rust powered by 🧬 Dioxus and 🎨 Skia.

    Freya

  14. vizia

    A declarative GUI library written in Rust

    Vizia

  15. kas

    Another GUI toolkit

    KAS GUI

  16. concoct

    A reactive runtime for embedded systems in Rust

    Concoct

  17. rui

    Declarative Rust UI library

    rui

  18. rustdesk

    An open-source remote desktop application designed for self-hosting, as an alternative to TeamViewer.

  19. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub 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

  • Writing GUI apps for Windows is painful

    23 projects | news.ycombinator.com | 30 Jun 2024
  • XUL Layout has been removed from Firefox

    18 projects | news.ycombinator.com | 1 Apr 2023
  • Hey Rustaceans! Got a question? Ask here (4/2023)!

    20 projects | /r/rust | 23 Jan 2023
  • What are the pros/cons of the best GUI options for a cross platform app in Rust?

    8 projects | /r/rust | 25 Jan 2023
  • Published my first crate - json_keyquotes_convert

    2 projects | /r/rust | 29 Oct 2022

Did you know that Rust is
the 5th most popular programming language
based on number of references?