Iced
A cross-platform GUI library for Rust, inspired by Elm
...It expects you to split user interfaces into four different concepts, which are: the state of your app; messages, which are user interactions or other meaningful events; view logic, which displays your state as widgets that can result in messages; and update logic, which offers a way to update your state and react to messages. Iced is very simple and easy to use, and is type-safe. It offers many great features including built-in widgets and custom widget support, debug overlay, a modular ecosystem and more.