Repolode
emilk

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. 1

    Запустите демонстрационное приложение egui локально

    cargo run --release -p egui_demo_app
  2. 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 обновляется ежедневно.

Похожие проекты