Benedict
SwiftUI-style declarative component framework over egui in Rust (crate egui-swiftui): VStack/HStack/flex layouts, sidebar and list components, animation controller and a two-thread design with a tokio async runtime feeding the UI thread.
- BPM
- 133
- GRADE
- B
- LEVEL
- 4
- RELEASES
- 0
- YEARS
- 2025–2025
SwiftUI Without The Swift
Benedict was a crate called egui-swiftui, built in a day in June 2025. The idea was to take egui, which is fast, immediate-mode and doesn't care how you structure an app, and put SwiftUI's declarative API on top of it.
It got VStack and HStack, a FlexContainer over egui_flex, a Spacer, a navigation sidebar with menu items and a scrollable list view. Underneath there's a Component trait, an AsyncHandler trait, a shared AppState and an AnimationController.
The part I cared about most was the threading. The main thread renders and handles input, a background thread runs a tokio runtime for the I/O and heavy work, and they talk through typed messages.
It was a one-day sketch, one of a bunch I did around then, all trying to get at the same thing: writing native interfaces without writing native code.
led to
- tish-egui2026SwiftUI-style components over egui