Repolode
elixir-crab

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

    Clone o repositório

  2. 2

    Baixe as dependências

    mix deps.get
  3. 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