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.
The egui_mobius ecosystem provides multiple paradigms for building modern GUI applications, each serving different needs while maintaining compatibility with one another:
- 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
- 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
- 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
- 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
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
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
- 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.