ArthurSonzogni /
FTXUI
Функциональный терминальный интерфейс (TUI) на C++. :computer: :heart:
Форки
590
Звёзды
10.2k
Issues
0
FTXUI — библиотека на C++ для создания интерактивных интерфейсов прямо в терминале. Помогает быстро собрать красивый CLI-инструмент без глубоких знаний графических API.
Что делает
FTXUI превращает скучный текст в консоли в полноценный UI с кнопками, чекбоксами и прогресс-барами. Ты собираешь интерфейс как конструктор из готовых компонентов.
Он работает в любом терминале, который поддерживает стандарт ANSI. Это позволяет создавать интерактивные дашборды, меню и формы, которыми удобно управлять с клавиатуры.
Как работает
Библиотека использует функциональный подход. Ты описываешь структуру интерфейса через комбинацию компонентов, которые автоматически перерисовываются при изменении состояния.
Она опирается на стандартные возможности терминалов, поэтому не требует тяжелых графических библиотек или GPU. Все отрисовывается через символы ASCII и управляющие последовательности xterm.
Кому подходит
Разработчикам CLI-инструментов, которым надоели простые текстовые логи.
Создателям дашбордов для мониторинга серверов или баз данных.
Авторам интерактивных установщиков и конфигураторов для SaaS-продуктов.
Тем, кто хочет сделать свой проект на C++ визуально приятным.
Основные возможности
Готовые UI-компоненты: кнопки, чекбоксы, списки, прогресс-бары.
Гибкая система верстки с поддержкой контейнеров и слоев.
Поддержка событий клавиатуры и мыши для взаимодействия.
Рендеринг в реальном времени с минимальной задержкой.
Полная адаптивность под размер окна терминала.
Легкая интеграция в существующий код на C++.
Как установить
Библиотека подключается через менеджер пакетов vcpkg или напрямую через CMake. Это стандарт для проектов на C++.
vcpkg install ftxuiВ `CMakeLists.txt` добавь следующие строки для линковки:
find_package(ftxui CONFIG REQUIRED)
target_link_libraries(main PRIVATE ftxui::screen ftxui::dom ftxui::component)Как применить в своём продукте
Используй FTXUI, чтобы обернуть свои AI-скрипты в удобный интерфейс. Вместо того чтобы выводить простые строки в консоль, дай пользователю меню с выбором параметров.
Это повышает ценность продукта в глазах клиента. Когда человек видит интерактивную панель вместо набора текста, он воспринимает инструмент как серьезный софт.
Заменить стандартный ввод данных в CLI-утилите на интерактивную форму.
Создать визуальный монитор статуса выполнения для длительных задач.
Собрать админ-панель для управления локальными AI-агентами.
Сделать красивый установщик для своего open source продукта.
Подводные камни
Главный риск — C++. Если ты не знаешь язык, придется делегировать написание кода нейросети. Ошибки компиляции могут стать препятствием для быстрого запуска.
Также помни, что интерфейс работает только в терминале. В веб-браузере или мобильном приложении он не отобразится, поэтому используй его только для консольных инструментов.
Частые вопросы
Нужно ли знать C++ в совершенстве?
Нет, достаточно понимать структуру проекта и уметь использовать CMake. Проси Claude или Cursor написать обертку для твоей логики, используя компоненты FTXUI, и просто компилируй результат.
Будет ли это работать на Windows?
Да, библиотека поддерживает Windows Terminal и другие эмуляторы, понимающие ANSI-последовательности. Проблем с кроссплатформенностью обычно не возникает.
Можно ли добавить цвета в интерфейс?
Да, библиотека поддерживает палитру цветов и стили шрифтов. Ты можешь менять их динамически в зависимости от состояния программы.
Топики
Похожие репозитории
Netcatty — это комбайн для управления серверами: SSH-терминал, SFTP-клиент и рабочее пространство в одном Electron-приложении.
Tabby — это переосмысленный терминал для Windows, macOS и Linux. Идеален для управления серверами и отладки железа через современный GUI.
Alacritty — быстрый кроссплатформенный эмулятор терминала на GPU. Идеален для тех, кому важна скорость вывода текста и минималистичный конфиг.
ImHex — продвинутый hex-редактор с поддержкой визуализации данных и разбора бинарных структур. Идеален для реверс-инжиниринга и отладки файлов без боли для глаз.
Данные обновлены: 3 июня 2026 г.