What Bubble Tea Does
- Elm Architecture — Model, Update, View pattern
- Components — via Bubbles library (text input, spinner, table, list, paginator)
- Styling — via Lip Gloss (colors, borders, alignment)
- Mouse support — click and scroll events
- Async commands — Cmd pattern for side effects
- Sub-programs — compose multiple TUI programs
- Renderer — efficient diff-based terminal rendering
- Cross-platform — Windows, macOS, Linux
Comparison
| TUI Framework | Language | Architecture |
|---|---|---|
| Bubble Tea | Go | Elm (MVU) |
| Ratatui | Rust | Immediate mode |
| Textual | Python | Widget tree |
| Ink | TypeScript | React-like |
| cursive | Rust | Callback |
FAQ
Q: What is the Elm Architecture? A: Unidirectional data flow: Model (state) → View (render) → Update (handle messages) → new Model. Concise and testable.
Q: Relationship with other Charm tools? A: Bubble Tea is the core framework; Bubbles provides prebuilt components; Lip Gloss handles styling; Gum lets you use Charm components in shell scripts; Huh is a form library.
Sources
- Docs: https://github.com/charmbracelet/bubbletea
- GitHub: https://github.com/charmbracelet/bubbletea
- License: MIT