Rust: State of GUI, December 2022 – KAS blog

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  1. contrast_renderer

    Contrast is a WebGPU based 2D render engine written in Rust

    Shameless self promotion plug, I developed a GPU accelerated 2D rendering framework in Rust as well. It even comes with an experimental UI framework on top, which you can try in the browser if you have WebGPU enabled:

    https://github.com/Lichtso/contrast_renderer

  2. SaaSHub

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

    SaaSHub logo
  3. egui

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

    I can go into great detail here why but its beside the point. If you read my comment on the egui issue I linked above (same handle I use on HN) you may get an idea where I am coming from.

    Most Human Computer Interface (HCI) guidlines for various platforms are based on typical late 90's early 2k desktop apps.

    They were never updated to reflect on newer paradigmns for UX that evolved in recent years. Blame the fragmentation of the desktop and Electron & co.

    IMHO this is the first problem the OS vendors need to solve before we can blame developers of UI libs to not make them look 'native enough'.

    [1] https://github.com/emilk/egui/issues/88

  4. flo_draw

    2D rendering libraries for Rust and FlowBetween

    I've been working a 2D rendering toolkit that increasingly looks to me like it probably deserves a mention on these lists: https://github.com/logicalshift/flo_draw (but I'm not on Reddit...). Layers, vector sprites, dynamic textures and a streaming API that fits well with 'reactive' designs are amongst the features that make it stand out from what else is out there. It's super simple to get going too.

    Started life as a rendering layer for FlowBetween so I could put in whatever looked like it was 'winning' later on but wound up writing my own renderer as there wasn't anything quite there yet. Still has that design so another unique thing is that it's possible to use the same API with whatever rendering layer you want.

    Speaking of FlowBetween, one thing I have wanted to do for ages is to get rid of the platform-specific GUIs and use something universal. It should be easy because FlowBetween sends straightforward instructions to an independent GUI layer, but I keep bouncing off for a few reasons:

    - it's a big ole task so I definitely want to pick something that's stable and also lets me hedge my bets in terms of being easy to migrate away from

  5. vgtk

    A declarative desktop UI framework for Rust built on GTK and Gtk-rs

    A pretty fun Rust GUI experienc is vgtk[0], which is doing a bunch of macro magic to give a "we're coding in React" vibe to GTK+. I don't really have a specific thing I want to code in a native GUI at the moment but if I did I think this would be the most tempting for me.

    [0]: https://github.com/bodil/vgtk/

  6. slint

    Slint is a declarative GUI toolkit to build native user interfaces for Rust, C++, or JavaScript apps.

    With Slint [https://slint-ui.com], our aim is to achieve native look and feel, and accessibility.

  7. windows-rs

    Rust for Windows

    We yanked it because XAML/WinUI is squarely designed to be used with C# and Visual Studio.

    See also: https://github.com/microsoft/windows-rs/issues/2153#issuecom...

  8. Native Windows GUI

    A light windows GUI toolkit for rust

    https://github.com/gabdube/native-windows-gui isn't in the list but is quite a polished option for building Windows specific GUIs.

  9. Relm4

    Build truly native applications with ease!

  10. windows-app-rs

    Discontinued Rust for the Windows App SDK

    It sure is abandoned: https://github.com/microsoft/windows-app-rs#this-repository-...

  11. twitvault

    Easily Archive and Search Your Twitter Data with our Syncable Desktop App

    I recently build this side project with Dioxus:

    https://terhechte.github.io/twitvault/

    Here's a review of the experience of using it:

    https://www.reddit.com/r/rust/comments/zegv2e/comment/izb6nl...

  12. Azul

    Desktop GUI Framework

    One day I'll get around to finish my library Azul [1]. Hopefully.

    [1] https://azul.rs/

  13. wxRust2

    re-exploration Rust binding to wx

    It looks like the author of wxRust is attempting another go at bindings with https://github.com/kenz-gelsoft/wxRust2.

  14. cxx-qt

    Safe interop between Rust and Qt

    I second this. I wrote an internal Qt/QML app that ran on Windows, Linux, Android, and Raspberry Pis. We had ~20 Raspberry Pi's running this app in kiosk mode. If only KDAB/cxx-qt[1] were ready there, I would have done as much as possible in rust .

    - [1] https://github.com/KDAB/cxx-qt/

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

  • Winsafe: Low-level Windows API and GUI in safe, idiomatic Rust

    1 project | news.ycombinator.com | 1 Aug 2024
  • Writing GUI apps for Windows is painful

    23 projects | news.ycombinator.com | 30 Jun 2024
  • Sorry... what diskette?

    1 project | /r/softwaregore | 1 Jul 2023
  • Accessing List of Installed Apps on Windows 11

    1 project | /r/rust | 27 Jun 2023
  • Declarative UI Programming in Rust for Native Applications

    6 projects | /r/rust | 30 Mar 2023