libui — лёгкая кроссплатформенная библиотека на языке C для создания графических пользовательских интерфейсов с использованием нативных элементов операционных систем. Библиотека разрабатывалась как простая обёртка над родными виджетами Windows, macOS и некоторых систем на базе X11, стремясь предоставить минимальный и предсказуемый API для быстрого прототипирования и разработки простых десктопных приложений. Главная идея проекта — обеспечить единообразный интерфейс программирования при отображении элементов управления в стиле платформы, не пытаясь заменить или воспроизводить сложные фреймворки.
Исторически libui возникла как экспериментальный проект с открытым исходным кодом, ориентированный на программистов, предпочитающих писать на C и нуждающихся в небольшом наборе стандартных виджетов без зависимости от тяжелых кроссплатформенных стеков. Документация и реализация сосредоточены на базовых элементах управления, обработке событий и упрощённой модели рендеринга, при этом проекту свойственна прагматичная архитектура: минимальное количество сущностей в API, явное управление жизненным циклом компонентов и упрощённая система размещения элементов. Если подробной информации о некоторых аспектах реализации нет, это обычно отражается в кратких примечаниях к функциональности и в описании типичных сценариев использования.
- Кроссплатформенность: библиотека предоставляет общий API, который сопоставляет вызовы с нативными виджетами целевых платформ, что обеспечивает вид соответствующий ОС.
 - Простой C-API: минималистичный интерфейс на языке C без сложной объектной обёртки, что упрощает интеграцию в существующие проекты и связывание с другими языками.
 - Набор виджетов: базовые элементы управления (окна, метки, кнопки, текстовые поля, чекбоксы, радио-кнопки, прогресс-бары, списки и контейнеры) пригодные для создания простых настольных приложений.
 - Обработка событий: модель обработки событий и колбэков для реакций на действия пользователя и изменения состояния элементов интерфейса.
 - Управление компоновкой: простые контейнеры и механизмы расположения для размещения виджетов без сложных систем layout'ов.
 - Независимость от больших фреймворков: небольшая зависимость от внешних библиотек, что делает сборку и распространение легче для простых утилит.
 - Применение в прототипах: подходит для быстрого создания прототипов GUI, инструментов и утилит, где важна простота и нативный внешний вид.
 - Ограничения: не предназначена для сложных приложений с богатыми пользовательскими интерфейсами и продвинутой графикой; размеры API и набор виджетов целенаправленно ограничены.
 - Лицензирование и сообщество: проект обычно распространяется с открытым исходным кодом; активность и поддержка зависят от сообщества и отдельных вкладчиков.