Slint é um toolkit declarativo de GUI para criar interfaces nativas em apps Rust, C++, JavaScript ou Python.
elixir-crab/gpui
Uma biblioteca Elixir para criar aplicativos desktop nativos com UI declarativa renderizada pelo framework GPUI, baseado em Rust.
- Estrelas
- 102
- Forks
- 4
- Issues abertas
- 12
- Último commit
- há 4 dias
O que é?
O GPUI permite que desenvolvedores escrevam aplicativos desktop nativos em Elixir. O estado da aplicação, o layout das janelas e as declarações de UI ficam em Elixir, enquanto o Rust cuida do loop de eventos nativo, das janelas, da renderização, do foco, do IME e da acessibilidade. A UI é escrita com templates no estilo HEEx, e os eventos de ativação por ponteiro, teclado e recursos de acessibilidade retornam ao Elixir por um fluxo de eventos tipado.
A mesma aplicação declarativa pode ser executada em um display nativo local, em um display de teste determinístico que não precisa de servidor de display ou em um display remoto em outra máquina. Os controles convencionais vêm do pacote separado gpui_components, baseado em gpui-component. Arquivos NIF pré-compilados estão disponíveis para Linux, macOS com Apple silicon e Windows x86-64.
O repositório é um umbrella Mix com os pacotes gpui, gpui_components e gpui_native, além de exemplos como uma transcrição com rich text, um dashboard do runtime BEAM e uma galeria de componentes.
Recursos principais
- 01UI declarativa escrita em Elixir com templates no estilo HEEx
- 02Janelas nativas, foco, IME e acessibilidade gerenciados pelo Rust e pelo GPUI
- 03Display de teste determinístico que funciona sem servidor de display
- 04Displays remotos que mantêm a sessão autoritativa em outra máquina
- 05Edição persistente de texto nativo com posições UTF-16, desfazer/refazer e IME
- 06Coleções virtualizadas e rich text selecionável
Casos de uso
- Criar uma ferramenta ou dashboard desktop nativo sobre um sistema Elixir/OTP existente
- Escrever testes de UI para telas desktop em Elixir sem servidor de display
- Executar uma aplicação controlada por Elixir cujas janelas são exibidas em outra máquina
- Adicionar controles convencionais, como botões e formulários, a um aplicativo desktop em Elixir
Início rápido
- 1
Clone o repositório
- 2
Baixe as dependências
mix deps.get - 3
Execute o exemplo de janela de saudação
RUST_FONTCONFIG_DLOPEN=1 mix run apps/gpui/examples/getting_started/01_hello_window.exs
Antes de usar
- Os binários nativos pré-compilados abrangem apenas Linux, macOS com Apple silicon e Windows x86-64.
- Os recursos nativos de exibição precisam de um servidor de exibição local e dos pré-requisitos da plataforma.
Em coleções
Tópicos
Perguntas frequentes
- O que é gpui?
- Uma biblioteca Elixir para criar aplicativos desktop nativos com UI declarativa renderizada pelo framework GPUI, baseado em Rust. O GPUI permite que desenvolvedores escrevam aplicativos desktop nativos em Elixir. O estado da aplicação, o layout das janelas e as declarações de UI ficam em Elixir, enquanto o Rust cuida do loop de eventos nativo, das janelas, da renderização, do foco, do IME e da acessibilidade. A UI é escrita com templates no estilo HEEx, e os eventos de ativação por ponteiro, teclado e recursos de acessibilidade retornam ao Elixir por um fluxo de eventos tipado.
- gpui é gratuito? Qual é a licença?
- gpui é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- gpui ainda é mantido?
- Manutenção ativa. O último commit de gpui foi em 3 de nov. de 2026.
- Para que posso usar gpui?
- Criar uma ferramenta ou dashboard desktop nativo sobre um sistema Elixir/OTP existente Escrever testes de UI para telas desktop em Elixir sem servidor de display Executar uma aplicação controlada por Elixir cujas janelas são exibidas em outra máquina Adicionar controles convencionais, como botões e formulários, a um aplicativo desktop em Elixir
- Como instalar gpui?
- Clone o repositório Baixe as dependências: mix deps.get Execute o exemplo de janela de saudação: RUST_FONTCONFIG_DLOPEN=1 mix run apps/gpui/examples/getting_started/01_hello_window.exs
- Onde consigo gpui?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/elixir-crab/gpui
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Biblioteca de GUI declarativa, nativa e multiplataforma para criar apps desktop e mobile em Rust.
Um mecanismo de UI nativa multiplataforma em que a lógica do app roda em Go e cada plataforma renderiza usando suas próprias views nativas.
Kit de GUI para desktop em Rust, com mais de 75 componentes estilizados para criar apps multiplataforma com o framework GPUI.
Um toolkit de GUI para Python que renderiza apps com os widgets nativos de cada sistema operacional.
Um framework Go para criar apps desktop com frontend web no webview do sistema operacional ou UI nativa renderizada na GPU.