libwui — альтернатива Qt/QML для тех, кто хочет быстрые интерфейсы, маленькие бинарники и предсказуемый API. Никаких генераторов кода, минимум зависимостей, максимум контроля.
Open‑source. Без vendor lock‑in. Подходит для десктопа и встраиваемых систем.
Как выглядит код на libwui
// Минимальный пример: окно + кнопка
#include <wui/framework/framework.hpp>
#include <wui/window/window.hpp>
#include <wui/control/button.hpp>
#include <wui/common/dbgtrace.hpp>
int main() {
wui::framework::init();
auto window = std::make_shared<wui::window>();
auto button = std::make_shared<wui::button>(("Button 1",
[]() {
DBG_TRACE("Button 1 press");
});
window->add_control(button, { 10, 10, 300, 35 });
window->init("Hello from WUI!", { -1, -1, 900, 600 },
wui::flags_map<wui::window_style>(3, wui::window_style::frame,
wui::window_style::switch_theme_button,
wui::window_style::border_all),
[]() {
wui::framework::stop();
});
DBG_TRACE("App started");
wui::framework::run();
DBG_TRACE("App ended");
return 0;
}
Чистый C++: лямбды, std::function, никакого MOC.
Только то, что нужно для UI. Без десятков модулей (SQL, XML, 3D и т.д.), которые раздувают зависимости и усложняют поддержку.
Нативный std‑стек: шаблоны, лямбды, умные указатели. Прозрачная модель событий, без скрытой генерации кода.
Минимальный footprint и быстрый старт приложения — важны как для дистрибуции, так и для встраиваемых систем.
Нет внешних генераторов, меньше стадий сборки, меньше причин для «сломалось на агентах».
Документация и код идут рядом: меньше «магических» состояний, понятный жизненный цикл.
Никаких платных лицензий за право статической линковки и закрытый код; вы контролируете продукт.
Критерий | libwui | Qt / QML |
---|---|---|
Язык/модель | Чистый C++, события через std::function | Собственные сигналы/слоты, MOC, QML (JS) |
Сборка | Без генераторов кода, проще CI | moc/uic/rcc, длинные сборки |
Размер бинарников | Малый footprint | Существенно больше |
Зависимости | Минимальные | Много модулей и ABI‑слоёв |
Нативность UI | Фокус на кастомном современном UI | Widgets/QML, разная «нативность» по платформам |
Кривая обучения | Для C++ разработчиков — низкая | QML/JS, новая парадигма |
Лицензирование | Open‑source, без платы за стат. линковку | GPL/LGPL или дорогостоящая коммерческая |
Готовые компоненты | База + расширяемость | Большая библиотека виджетов |
* Оценки размеров и скорости зависят от конфигурации проекта; приведены как ориентиры.
Окна, контейнеры, кнопки, поля ввода, списки, панели, диалоги. Гладкие анимации там, где это уместно.
Стратегия «достаточный минимум»: без перегруженных «комбайнов».
Создавайте собственные контролы и темы через понятные базовые классы. Без наследования от «всего подряд».
Композиция и простые интерфейсы вместо жёстких иерархий.
On‑premise видеосвязь: десктоп‑клиенты на WUI (Windows / Linux).
UI на базе libWUI: быстрый старт, минимальный footprint, современный дизайн.
Готовы разместить кейс и логотип после миграции на WUI. Напишите нам на info@libwui.org.
Windows / Linux (Wayland/X11). Поддержка macOS — в планах. Для встраиваемых систем — сборка без лишних зависимостей.
Минимальные оверхеды и быстрый старт. Отрисовка оптимизирована под типичные десктоп‑кейсы. Нет избыточных абстракций.
Да. Темизация через токены и стили. Кастомные контролы подключаются без «ломки» ядра.
Open‑source boost лицензия. Никаких платежей за статическую линковку.