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: Elm Architecture 是什么? A: 单向数据流:Model(状态)→ View(渲染)→ Update(处理消息)→ 新 Model。简洁且可测试。
Q: 和 Charm 其他工具关系? A: Bubble Tea 是核心框架;Bubbles 是预置组件;Lip Gloss 是样式;Gum 是 shell 脚本中使用 Charm 组件;Huh 是表单库。
来源与致谢 Sources
- Docs: https://github.com/charmbracelet/bubbletea
- GitHub: https://github.com/charmbracelet/bubbletea
- License: MIT