I can’t figure out which crate(s) I should be using to create GUI applications. I only want to create simple 2D games like Conway’s Game of Life, so I don’t need anything fancy. At most I would like to be able to easily create polygons.

I’ve already looked at Are we game yet?, but it would be a waste of time to learn 20 different crates in order to decide on which one to use. Bevy is far too heavy and doesn’t even work if you are low on memory. SDL3 isn’t natively supported without some workarounds (but SDL2 is fine). Winit tries to use insecure X11 unless I manually add it as a dependency with the Wayland feature. I plan to eventually learn GTK4+Adwaitta, but that’s unnecessary for simple games.

GUI in Rust seams like a mess. There’s so many crates ranging from simple to complicated. Information becomes outdated quickly, so LLMs often fail to help. There’s few clear comparisons between crates to help you decide, so it becomes a headache. I’m just looking for a modern, safe, easy, minimal GUI crate.

Does anyone have any advice?

  • lad@programming.dev
    link
    fedilink
    English
    arrow-up
    2
    ·
    23 days ago

    I tried to build simple UI with floem, slint, and iced.

    1. slint seems to allow to do the most, it’s GNU GPL, and it allows you to move boilerplate to separate *.slint files much like Qt, imo.
    2. floem seemed the most flexible to me, but it requires attaching signals everywhere manually.
    3. iced seemed the easiest to use, but not exactly too flexible. I think some looks of the already simple UI I wanted to create were not possible there.

    You can check out my repo to see if it helps to answer your question. And yeah, I know the features shouldn’t be mutually exclusive 🌚