egui Neon
Neon-based Node/Bun bindings for egui with a TypeScript API, event listeners and a React-like virtual DOM layer for building native immediate-mode UIs from JavaScript. Follow-up to egui-ffi two days later.
- BPM
- 136
- GRADE
- B
- LEVEL
- 5
- RELEASES
- 0
- YEARS
- 2025–2025
Native Windows From JavaScript
This one wired egui up through Neon bindings instead of raw FFI. One day, May 2025.
The goal was two-way communication between JavaScript and Rust, working under both Bun and Node, with proper main thread handling on macOS, which was the hard part. On top of the bindings I put a React-like virtual DOM API, because once I could draw a window from TypeScript I wanted components. The quick start is a class called EguiReactive: initialize it, add an event listener for counter_updated, push a message, increment, then call runWindow and block until the window closes.
It's a counter and a list of messages, which is how all my UI experiments start.
It lasted a day, and it kicked off a year of trying JavaScript on top with native rendering underneath. Benedict, UI Gateway, VUI, and eventually tish-egui all came out of that.
led to
- tish-egui2026Node/Bun bindings for egui