Простой 2D-движок для языка программирования D со встроенной физикой, анимацией, тайловыми картами и диалогами.
emilk/egui
Простая в использовании библиотека immediate mode GUI для Rust, работающая в браузере и нативных приложениях и встраиваемая в игровые движки.
- Звёзды
- 31,659
- Форки
- 2,228
- Открытые issues
- 1,068
- Последний коммит
- 12 часов назад
Что это?
egui — библиотека immediate mode GUI, написанная на чистом Rust. Вместо того чтобы создавать сохраняемое дерево виджетов с колбэками, вы каждый кадр вызываете функции интерфейса, например `ui.button("Save").clicked()`, и сразу обрабатываете результат. Так код GUI приложения остаётся простым, а состояние не рассинхронизируется с отображением.
Библиотека сама не отвечает за окна, сбор ввода и рендеринг. Каждый кадр она лишь создаёт треугольный меш, который отрисовывает интеграционный слой. Официальный фреймворк eframe предоставляет такой слой для приложений под Web, Linux, Mac, Windows и Android. egui также можно встраивать в другие движки с помощью интеграций от сообщества.
В проект входят такие виджеты, как метки, слайдеры, флажки, палитры цветов и текстовые редакторы, а также средства для компоновки, изменяемые по размеру окна, области прокрутки, изображения и поддержка специальных возможностей через AccessKit. В README отмечено, что API всё ещё меняется, поэтому новые выпуски могут содержать несовместимые изменения.
Ключевые возможности
- 01API в стиле immediate mode: интерфейс описывается обычными вызовами функций, выполняемыми каждый кадр
- 02Работает в браузере через WebAssembly и нативно на Linux, Mac, Windows и Android благодаря eframe
- 03Встроенные виджеты, включая слайдеры, редактор текста, палитры цветов и сворачиваемые секции
- 04Гибкие варианты компоновки: горизонтальная, вертикальная, в столбцы и с переносом элементов
- 05Поддержка специальных возможностей через AccessKit в Windows и macOS
- 06Интеграция с игровыми движками: они отрисовывают создаваемый библиотекой треугольный меш
Сценарии использования
- Создание кроссплатформенного настольного инструмента на Rust с единой кодовой базой
- Добавление панелей отладки или настройки в игровой движок либо симуляцию
- Создание простого веб-приложения на Rust с компиляцией в WebAssembly
- Быстрое прототипирование интерактивных инструментов для визуализации данных
Быстрый старт
- 1
Запустите демонстрационное приложение egui локально
cargo run --release -p egui_demo_app - 2
Прочитайте официальную документацию и примеры, чтобы узнать, как создать собственное приложение
Что важно знать
- API всё ещё меняется, и новые версии могут содержать несовместимые изменения.
- В Linux перед запуском демонстрационного приложения необходимо установить несколько системных пакетов.
- Это не GUI с нативным внешним видом; приложение предназначено только для разработчиков на Rust.
Темы
Частые вопросы
- Что такое egui?
- Простая в использовании библиотека immediate mode GUI для Rust, работающая в браузере и нативных приложениях и встраиваемая в игровые движки. egui — библиотека immediate mode GUI, написанная на чистом Rust. Вместо того чтобы создавать сохраняемое дерево виджетов с колбэками, вы каждый кадр вызываете функции интерфейса, например `ui.button("Save").clicked()`, и сразу обрабатываете результат. Так код GUI приложения остаётся простым, а состояние не рассинхронизируется с отображением.
- egui можно использовать бесплатно? Какая у него лицензия?
- egui распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- egui всё ещё поддерживается?
- Активно поддерживается. Последний коммит в egui — 21 окт. 2026 г..
- Для чего можно использовать egui?
- Создание кроссплатформенного настольного инструмента на Rust с единой кодовой базой Добавление панелей отладки или настройки в игровой движок либо симуляцию Создание простого веб-приложения на Rust с компиляцией в WebAssembly Быстрое прототипирование интерактивных инструментов для визуализации данных
- Как установить egui?
- Запустите демонстрационное приложение egui локально: cargo run --release -p egui_demo_app Прочитайте официальную документацию и примеры, чтобы узнать, как создать собственное приложение
- Где скачать egui?
- Исходный код и инструкции по установке — на GitHub: https://github.com/emilk/egui
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Ретроигровой движок для Python, позволяющий создавать пиксельные игры с фиксированной палитрой и экраном низкого разрешения.
Лёгкий нативный клиент Spotify для компьютера на Rust: воспроизводит музыку локально и поддерживает Spotify Connect в Linux, macOS и Windows.
CLI на Rust и инструмент на WASM, который выравнивает неаккуратный пиксель-арт от ИИ по ровной сетке с фиксированной палитрой.
Dear ImGui — компактная библиотека GUI для C++ с минимумом зависимостей и парадигмой immediate mode, предназначенная для отладочных интерфейсов, инструментов и игровых движков.
Простая C-библиотека для создания видеоигр: 2D/3D-графика, ввод, звук и кроссплатформенность без внешних зависимостей.