15 releases
Uses new Rust 2024
new 0.3.0-alpha.31 | Apr 25, 2025 |
---|---|
0.3.0-alpha.30 | Apr 23, 2025 |
0.3.0-alpha.26 | Mar 30, 2025 |
#324 in GUI
712 downloads per month
Used in 3 crates
59KB
774 lines
egui_mobius is a comprehensive application framework built on egui that transforms its immediate mode foundation into a complete development platform. It combines reactive state management, thread-safe async operations, and a powerful component system to create rich, responsive applications with clean architecture.
Core Features
The egui_mobius ecosystem provides multiple paradigms for building modern GUI applications, each serving different needs while maintaining compatibility with one another:
📊 Reactive State Management
- Thread-safe reactive primitives via
Dynamic<T>
andDerived<T>
- Automatic UI updates when state changes
- Efficient dependency tracking with minimal boilerplate
- Composition-friendly design patterns with
ReactiveWidgetRef
🧩 Component Library
- Reusable, composable UI components in
egui_mobius_components
- Advanced event logging with our EventLogger component
- Customizable widgets with integrated reactive state
- Consistent design patterns across your application
⚡ Async Runtime
- Background processing that keeps your UI responsive
- Type-safe message passing between threads
- Built on Tokio for reliable async operations
- Seamless integration with the reactive system
🏗️ Modular Architecture
- Signal-slot system for clean separation of UI and business logic
MobiusWidget
traits for encapsulated, reusable UI elements- Scalable patterns for complex applications
- Stateful components that maintain their own lifecycle
Ecosystem
The egui_mobius framework consists of multiple coordinated crates:
egui_mobius
: Core signal-slot and dispatching systemegui_mobius_reactive
: Thread-safe reactive state managementegui_mobius_widgets
: Custom, stateful widget implementationsegui_mobius_components
: Higher-level UI components
Getting Started
Explore our comprehensive examples to understand different architectural approaches:
clock_reactive
: Modern reactive UI with minimal boilerplateclock_async
: Thread-aware async operations with clean UI feedbackreactive_slider
: ReactiveWidgetRef for retained-mode style compositionlogger_component
: EventLogger component for sophisticated event tracking
For the fastest start, check out our template repository:
git clone https://github.com/saturn77/egui_mobius_template.git
cd egui_mobius_template
The template provides three comprehensive examples:
- Reactive - Basic reactive UI demo showing fundamental state management
- Reactive-Async - Sophisticated async task handling with background operations
- Signals-Slots - Full-featured RLC Circuit Simulator demonstrating signal-slot architecture
Contributing
- Contributions are welcome! Please fork the repository, create a feature branch, and submit a pull request.
- This project is licensed under the MIT License.
- For support or questions, open an issue or reach out on GitHub Discussions.
Dependencies
~16–56MB
~1M SLoC