Repolode
charmbracelet

charmbracelet/bubbletea

Фреймворк на Go для создания терминальных интерфейсов по паттерну model-update-view из The Elm Architecture.

Звёзды
45,471
Форки
4,035
Открытые issues
272
Последний коммит
13 дней назад

Что это?

Bubble Tea — фреймворк на Go для создания терминальных приложений: от небольших интерактивных утилит до полноэкранных программ. Он следует The Elm Architecture: приложение представлено моделью, хранящей состояние, функцией Update, обрабатывающей сообщения, например нажатия клавиш, и функцией View, которая отображает интерфейс на основе этого состояния. Среда выполнения сама перерисовывает интерфейс, поэтому разработчикам достаточно описать UI, не управляя выводом в терминал вручную.

Фреймворк поддерживает встроенную в строку, полноэкранную и смешанную компоновку. В него входят отрисовщик на основе ячеек, понижение глубины цвета для терминалов с ограниченной палитрой, декларативные представления с настройками вроде режима alternate screen и отслеживания мыши, обработка ввода с клавиатуры и мыши, а также поддержка буфера обмена. Команды позволяют выполнять операции ввода-вывода, например запускать таймеры или отправлять сетевые запросы, не блокируя интерфейс.

Bubble Tea часто используют вместе с соседними библиотеками того же проекта: Bubbles с готовыми компонентами, например полями ввода и областями просмотра, Lip Gloss для стилизации и компоновки, а также Harmonica для анимации.

Ключевые возможности

  • 01Реализует The Elm Architecture с методами Init, Update и View у модели.
  • 02Предоставляет отрисовщик на основе ячеек и встроенное понижение глубины цвета.
  • 03Поддерживает встроенную в строку, полноэкранную и смешанную компоновку терминала.
  • 04Обрабатывает ввод с клавиатуры и мыши, а также обеспечивает нативный доступ к буферу обмена.
  • 05Предлагает систему команд для асинхронных операций ввода-вывода, например таймеров и запросов.

Сценарии использования

  • Создание на Go интерактивных CLI-утилит с формами, списками или меню.
  • Создание полноэкранных терминальных панелей мониторинга или файловых менеджеров.
  • Разработка терминальных игр и визуализаций, реагирующих на события ввода.

Быстрый старт

  1. 1

    Импортируйте пакет Bubble Tea v2 в код Go

  2. 2

    Скачайте bubbletea и его зависимости

    go mod tidy

Что важно знать

  • Проект написан на Go, поэтому для его использования нужны практические знания Go.
  • Для перехода с v1 необходимо следовать отдельному руководству по обновлению, поскольку в v2 изменён API.

Темы

Частые вопросы

Что такое bubbletea?
Фреймворк на Go для создания терминальных интерфейсов по паттерну model-update-view из The Elm Architecture. Bubble Tea — фреймворк на Go для создания терминальных приложений: от небольших интерактивных утилит до полноэкранных программ. Он следует The Elm Architecture: приложение представлено моделью, хранящей состояние, функцией Update, обрабатывающей сообщения, например нажатия клавиш, и функцией View, которая отображает интерфейс на основе этого состояния. Среда выполнения сама перерисовывает интерфейс, поэтому разработчикам достаточно описать UI, не управляя выводом в терминал вручную.
bubbletea можно использовать бесплатно? Какая у него лицензия?
bubbletea распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
bubbletea всё ещё поддерживается?
Активно поддерживается. Последний коммит в bubbletea — 8 окт. 2026 г..
Для чего можно использовать bubbletea?
Создание на Go интерактивных CLI-утилит с формами, списками или меню. Создание полноэкранных терминальных панелей мониторинга или файловых менеджеров. Разработка терминальных игр и визуализаций, реагирующих на события ввода.
Как установить bubbletea?
Импортируйте пакет Bubble Tea v2 в код Go Скачайте bubbletea и его зависимости: go mod tidy
Где скачать bubbletea?
Исходный код и инструкции по установке — на GitHub: https://github.com/charmbracelet/bubbletea

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты