egui_elm
egui_elm brings an Elm-style, purely functional architecture to egui. It focuses on a simple init / update / view / subscription model so you can write declarative desktop GUIs with predictable state transitions and explicit commands.
Features
- Elm-inspired
Programstructure with standalone functions instead of traits. - Explicit
Commandtype for asynchronous/side-effectful work. Subscriptionabstraction for continuous external events such as timers.- Optional
appruntime (run) built on top ofeframe+tokio. Disable the defaultruntimefeature if you only need the architectural pieces.
Getting started
[]
= "0.1"
By default the crate enables the runtime feature, which pulls in the native runner and Tokio. To depend on only the core types, disable default features:
[]
= { = "0.1", = false }
Quick example
use *;
More runnable examples live in examples/.
Development
cargo fmt– keep the codebase formatted.cargo check– fast verification.cargo test– runs the internal unit tests.cargo run --example counter– try out the demo apps.
Before publishing to crates.io, run cargo publish --dry-run to ensure metadata and docs are complete.
License
MIT. See LICENSE for details.