Uma engine 2D simples para a linguagem de programação D, com física, animação, tilemaps e diálogos integrados.
emilk/egui
Uma biblioteca de GUI em modo imediato fácil de usar para Rust, que roda na web e nativamente e pode ser incorporada a engines de jogos.
- Estrelas
- 31,659
- Forks
- 2,228
- Issues abertas
- 1,068
- Último commit
- há 11 horas
O que é?
egui é uma biblioteca de GUI em modo imediato escrita em Rust puro. Em vez de montar uma árvore persistente de widgets com callbacks, você chama funções de UI a cada frame, como ui.button("Save").clicked(), e age diretamente com base no resultado. Isso mantém simples o código da GUI da aplicação e evita estados que ficam dessincronizados com a exibição.
A biblioteca em si não cuida de janelas, coleta de entrada nem renderização. Ela apenas produz uma malha de triângulos a cada frame, e uma camada de integração a desenha. O framework oficial eframe fornece essa camada para criar apps destinados à Web, Linux, Mac, Windows e Android; também é possível incorporar egui a outras engines por meio de integrações da comunidade.
O projeto inclui widgets como rótulos, sliders, caixas de seleção, seletores de cores e editores de texto, além de layouts, janelas redimensionáveis, áreas de rolagem, imagens e suporte a acessibilidade via AccessKit. O README observa que a API ainda está mudando e que novas versões podem incluir alterações incompatíveis.
Recursos principais
- 01API em modo imediato: a UI é escrita como chamadas de função comuns executadas a cada frame
- 02Roda na web via WebAssembly e nativamente no Linux, Mac, Windows e Android por meio do eframe
- 03Widgets integrados, incluindo sliders, edição de texto, seletores de cores e seções recolhíveis
- 04Layouts flexíveis com arranjos horizontais, verticais, em colunas e com quebra de linha
- 05Suporte a acessibilidade via AccessKit no Windows e macOS
- 06Integra-se a engines de jogos renderizando a malha de triângulos que produz
Casos de uso
- Criar uma ferramenta desktop multiplataforma em Rust usando uma única base de código
- Adicionar painéis de depuração ou ajuste a uma engine de jogos ou simulação
- Criar um app web simples em Rust compilado para WebAssembly
- Prototipar rapidamente ferramentas interativas de visualização de dados
Início rápido
- 1
Execute o app de demonstração do egui localmente
cargo run --release -p egui_demo_app - 2
Leia a documentação oficial e os exemplos para criar seu próprio app
Antes de usar
- A API ainda está mudando, e novas versões podem incluir alterações incompatíveis.
- No Linux, é preciso instalar alguns pacotes do sistema antes de executar o app de demonstração.
- Não é uma GUI com aparência nativa e é voltada apenas para desenvolvedores Rust.
Tópicos
Perguntas frequentes
- O que é egui?
- Uma biblioteca de GUI em modo imediato fácil de usar para Rust, que roda na web e nativamente e pode ser incorporada a engines de jogos. egui é uma biblioteca de GUI em modo imediato escrita em Rust puro. Em vez de montar uma árvore persistente de widgets com callbacks, você chama funções de UI a cada frame, como ui.button("Save").clicked(), e age diretamente com base no resultado. Isso mantém simples o código da GUI da aplicação e evita estados que ficam dessincronizados com a exibição.
- egui é gratuito? Qual é a licença?
- egui é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- egui ainda é mantido?
- Manutenção ativa. O último commit de egui foi em 21 de out. de 2026.
- Para que posso usar egui?
- Criar uma ferramenta desktop multiplataforma em Rust usando uma única base de código Adicionar painéis de depuração ou ajuste a uma engine de jogos ou simulação Criar um app web simples em Rust compilado para WebAssembly Prototipar rapidamente ferramentas interativas de visualização de dados
- Como instalar egui?
- Execute o app de demonstração do egui localmente: cargo run --release -p egui_demo_app Leia a documentação oficial e os exemplos para criar seu próprio app
- Onde consigo egui?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/emilk/egui
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Uma engine de jogos retrô para Python que permite criar jogos em pixel art com paleta fixa e tela de baixa resolução.
Cliente nativo e leve do Spotify para desktop, feito em Rust, que reproduz músicas localmente e oferece suporte ao Spotify Connect no Linux, macOS e Windows.
Uma ferramenta de CLI em Rust e WASM que ajusta pixel art gerada por IA a uma grade uniforme, com uma paleta fixa.
Dear ImGui é uma biblioteca de GUI immediate mode para C++ enxuta e com poucas dependências, voltada a interfaces de debug, ferramentas e engines de jogos.
Uma biblioteca C simples para criar videogames, com gráficos 2D/3D, entrada, áudio e suporte multiplataforma, sem dependências externas.