Технический стек и требования
EUI-NEO — это высокопроизводительный UI-фреймворк, написанный на C++17. Архитектура проекта разделена на бэкенды оконной системы (GLFW или SDL2) и графические рендереры (OpenGL или Vulkan). Для сборки требуется CMake 3.14+ и компилятор, поддерживающий стандарт C++17: MSVC 19.29+, GCC/MinGW-w64 12+ или Clang 14+.
Архитектура и DSL
Ключевая особенность EUI-NEO — использование декларативного языка спецификаций (DSL) для описания интерфейса. Разработчики могут создавать компоненты, используя цепочечные вызовы методов, что упрощает чтение кода. Фреймворк включает встроенные модули для работы с текстом, изображениями, сетью, анимацией и асинхронными операциями.
Структура проекта
Репозиторий организован модульно, что позволяет подключать только необходимые части. Основные директории включают core/ (DSL, рантайм, примитивы), components/ (переиспользуемые UI-компоненты) и modules/ (дополнительные функции, такие как работа с клавиатурой и последовательным портом).
| Компонент | Описание |
|---|---|
| Window Backend | GLFW или SDL2 |
| Render Backend | OpenGL (по умолчанию) или Vulkan |
| Язык | C++17 |
| Лицензия | Apache 2.0 (основной код) |
| Мин. версия CMake | 3.14 |
Интеграция и использование
Интеграция в проект осуществляется через add_subdirectory или find_package для релизной версии SDK. Пример базового приложения показывает создание окна размером 960x640 с заголовком "My App" и текстовым элементом. Фреймворк автоматически настраивает точку входа, линкует библиотеку eui::neo и применяет платформозависимые настройки исполняемого файла.
Для кого этот проект
EUI-NEO ориентирован на разработчиков, которым нужен легкий, быстрый и кроссплатформенный инструмент для создания нативных интерфейсов без тяжелых зависимостей. Поддержка Vulkan делает его привлекательным для приложений, требующих высокой производительности графики, а модульная структура позволяет легко адаптировать его под специфические задачи.
Источник: Github ↗
