Skip to main content


The #relm4 project silently released version 0.6.0 without announcement. relm4 is a #RustLang UI library based on #gtk and inspired by #elm. I've been using the 0.6.0 beta for some time now and absolutely enjoy it. https://relm4.org/ https://github.com/Relm4/relm4
Thanks for the pointer! Didn't know until now. 😀
I have tried to find out what the objective differences between relm4 and gtk4rs are. But all I found sounds subjective like "wrapper around gtk4rs for better convenience". Could you help me with the comparison?
@mo8it Not sure my description is accurate, in relm4 you can have components that send and receive messages, and perform updates of their internal state when they receive messages. It creates more or less some scaffolding that you can use easier than pure gtk4rs. In addition it provides several macros for declarative description of widgets and their state updates. https://relm4.org/book/stable/components.html#the-complete-code shows an example, look out for the `#[watch]` attribute, instructing the widget update on model change.
@mo8it I believe relm follows the Functional Reactive Programming pattern. Basically you'd write GTK4 applications in a manner similar to React or Elm (from which relm borrows its name).
@silwol
@mattiasb @mo8it That sounds like it's the correct name for that pattern. Recognized the pattern, but didn't know its name. 🙂
⇧