Software Engineering Radio - the podcast for professional software developers

SE Radio 713: Héctor Ramón Jiménez on Building a GUI library in Rust

Mar 25, 2026
Héctor Ramón Jiménez, creator of iced and longtime GUI and rendering developer, talks about building a cross-platform GUI toolkit in Rust. He covers iced’s Elm-inspired architecture, rendering pipeline from elements to pixels, GPU and CPU backends, async task handling to avoid UI blocking, headless testing, end-to-end test recorders and emulators, and the challenges of mobile support.
Ask episode
AI Snips
Chapters
Transcript
Episode notes
INSIGHT

From State To Pixels In The Iced Runtime

  • Iced's runtime loop creates a window, builds a widget tree from view(state), runs layout, and the renderer translates widget state into GPU draw commands.
  • Borrow rules force view recomputation after updates, preventing state/view concurrency bugs.
ADVICE

Run Long Tasks As Background Futures

  • Offload long-running work from update to background tasks by returning futures so the UI thread remains responsive.
  • Iced's runtime runs returned tasks on other threads and then sends completion messages back to update.
INSIGHT

Underused Widgets Enable Advanced UI Patterns

  • Iced includes niche features like a shader widget for 3D and a Sensor widget to detect when items appear on screen.
  • Sensor enables patterns such as infinite scrolling by notifying when elements are about to become visible.
Get the Snipd Podcast app to discover more snips from this episode
Get the app