
Terminal UI: BubbleTea (Go) vs Ratatui (Rust)
Two strong options for building terminal user interfaces today are BubbleTea (Go) and Ratatui (Rust) . One gives you an opinionated, Elm-style framework; the other a flexible, immediate-mode library. This post sums up what each is, shows a minimal example for both, and suggests when to pick which. And yes, also gives some useful links. Crush UI (screenshot above) is implemented using BubbleTea framework. What is BubbleTea? BubbleTea is a Go framework for TUIs based on The Elm Architecture . You describe your app with a model (state) and three pieces: Init (initial command), Update (handle messages, return new model and optional command), and View (render the UI as a string). The framework runs the event loop, turns keypresses and I/O into messages, and redraws when the model changes. So: what is BubbleTea? In short, it’s the fun, stateful way to build terminal apps in Go, with a single source of truth and predictable updates. BubbleTea is production-ready (v1.x), has tens of thousands
Continue reading on Dev.to
Opens in a new tab

