Un motor de videojuegos 2D sencillo para el lenguaje de programación D, con física, animación, tilemaps y diálogos integrados.
emilk/egui
Una biblioteca de GUI de modo inmediato para Rust, fácil de usar, que funciona en la web y de forma nativa, y puede integrarse en motores de juegos.
- Estrellas
- 31,659
- Forks
- 2,228
- Issues abiertos
- 1,068
- Último commit
- hace 11 horas
¿Qué es?
egui es una biblioteca de GUI de modo inmediato escrita en Rust puro. En lugar de crear un árbol persistente de widgets con callbacks, llamas a funciones de interfaz en cada frame, como ui.button("Save").clicked(), y actúas directamente según el resultado. Así, el código de la GUI de la aplicación se mantiene sencillo y se evita que el estado deje de coincidir con lo que se muestra.
La biblioteca no se encarga de gestionar ventanas, recopilar entradas ni renderizar. Solo genera una malla de triángulos en cada frame, que dibuja una capa de integración. El framework oficial eframe proporciona esa capa para crear aplicaciones destinadas a Web, Linux, Mac, Windows y Android. También es posible integrar egui en otros motores mediante integraciones de la comunidad.
El proyecto incluye widgets como etiquetas, sliders, casillas de verificación, selectores de color y editores de texto, además de diseños, ventanas redimensionables, áreas de desplazamiento, imágenes y compatibilidad con accesibilidad mediante AccessKit. El README señala que la API sigue cambiando y que las nuevas versiones pueden incluir cambios incompatibles.
Funciones clave
- 01API de modo inmediato: la interfaz se escribe como llamadas a funciones normales que se ejecutan en cada frame
- 02Funciona en la web mediante WebAssembly y de forma nativa en Linux, Mac, Windows y Android a través de eframe
- 03Incluye widgets como sliders, edición de texto, selectores de color y secciones desplegables
- 04Diseños flexibles con disposiciones horizontales, verticales, en columnas y con ajuste de línea
- 05Compatibilidad con accesibilidad mediante AccessKit en Windows y macOS
- 06Se integra con motores de juegos al renderizar la malla de triángulos que genera
Casos de uso
- Crear una herramienta de escritorio multiplataforma en Rust con una sola base de código
- Añadir paneles de depuración o ajuste a un motor de juegos o una simulación
- Crear una aplicación web sencilla en Rust y compilarla a WebAssembly
- Prototipar rápidamente herramientas interactivas de visualización de datos
Inicio rápido
- 1
Ejecuta la aplicación de demostración de egui en local
cargo run --release -p egui_demo_app - 2
Lee la documentación oficial y los ejemplos para crear tu propia aplicación
Antes de usarlo
- La API sigue cambiando y las nuevas versiones pueden incluir cambios incompatibles.
- En Linux, primero hay que instalar varios paquetes del sistema para ejecutar la aplicación de demostración.
- No ofrece una GUI con aspecto nativo y está dirigida únicamente a desarrolladores de Rust.
Temas
Preguntas frecuentes
- ¿Qué es egui?
- Una biblioteca de GUI de modo inmediato para Rust, fácil de usar, que funciona en la web y de forma nativa, y puede integrarse en motores de juegos. egui es una biblioteca de GUI de modo inmediato escrita en Rust puro. En lugar de crear un árbol persistente de widgets con callbacks, llamas a funciones de interfaz en cada frame, como ui.button("Save").clicked(), y actúas directamente según el resultado. Así, el código de la GUI de la aplicación se mantiene sencillo y se evita que el estado deje de coincidir con lo que se muestra.
- ¿egui es gratuito? ¿Qué licencia tiene?
- egui es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿egui sigue mantenido?
- Mantenimiento activo. El último commit de egui fue el 21 oct 2026.
- ¿Para qué puedo usar egui?
- Crear una herramienta de escritorio multiplataforma en Rust con una sola base de código Añadir paneles de depuración o ajuste a un motor de juegos o una simulación Crear una aplicación web sencilla en Rust y compilarla a WebAssembly Prototipar rápidamente herramientas interactivas de visualización de datos
- ¿Cómo se instala egui?
- Ejecuta la aplicación de demostración de egui en local: cargo run --release -p egui_demo_app Lee la documentación oficial y los ejemplos para crear tu propia aplicación
- ¿Dónde consigo egui?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/emilk/egui
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Un motor de juegos retro para Python que permite crear juegos de pixel art con una paleta fija y una pantalla de baja resolución.
Cliente de escritorio nativo y ligero de Spotify, escrito en Rust, que reproduce música localmente y admite Spotify Connect en Linux, macOS y Windows.
Una herramienta CLI y WASM en Rust que ajusta el pixel art generado por IA a una cuadrícula uniforme con una paleta fija.
Dear ImGui es una biblioteca de GUI de modo inmediato para C++, ligera y sin dependencias innecesarias, orientada a interfaces de depuración, herramientas y motores de videojuegos.
Una biblioteca C sencilla para crear videojuegos, con gráficos 2D y 3D, entrada, audio y soporte multiplataforma, sin dependencias externas.