Многие популярные CLI-утилиты имеют интерактивный интерфейс прямо в терминале.
Такие интерфейсы называют TUI (Terminal UI) - панели, таблицы, графики и списки, которые работают прямо в терминале по SSH. В Rust для этого часто используют библиотеку Ratatui.
Что умеет Ratatui
Это набор виджетов для терминальных интерфейсов:
* таблицы
* списки
* графики
* вкладки
* прогресс-бары
* панели и layout
Пример создания панели:
use ratatui::widgets::{Block, Borders};
let block = Block::default()
.title("Dashboard")
.borders(Borders::ALL);
После этого интерфейс рендерится прямо в терминал.
Почему TUI снова популярны
Терминальные интерфейсы имеют несколько преимуществ:
* работают по SSH
* почти не требуют ресурсов
* идеально подходят для DevOps
* удобны для серверных инструментов
Поэтому всё больше CLI-утилит делают не просто вывод текста, а полноценный интерфейс в терминале.
Вывод
Ratatui - библиотека на Rust, которая позволяет писать интерактивные интерфейсы прямо в терминале. Именно на таких инструментах строятся современные TUI-утилиты вроде lazygit и k9s.
LinuxCamp | #utils
