Framework Rust para criar apps web, desktop e mobile a partir de uma única base de código, com componentes no estilo React e signals.
slint-ui/slint
Slint é um toolkit declarativo de GUI para criar interfaces nativas em apps Rust, C++, JavaScript ou Python.
- Estrelas
- 24,241
- Forks
- 1,038
- Issues abertas
- 749
- Último commit
- há 2 horas
O que é?
Com o Slint, você escreve uma interface uma única vez na linguagem de marcação `.slint` e a conecta à lógica de negócio escrita em Rust, C++, JavaScript ou Python. Os arquivos `.slint` são compilados antecipadamente para código nativo, e o projeto tem como alvo sistemas embarcados, desktops e plataformas móveis, além de incluir um conjunto de demonstrações para web (WebAssembly).
O toolkit separa o design da UI da lógica da aplicação, permitindo que designers e desenvolvedores trabalhem em paralelo. Os backends de renderização incluem OpenGL ES 2.0 (femtovg), Skia e um renderizador de software que usa apenas a CPU; também é possível usar um estilo Qt quando o Qt está instalado. As ferramentas incluem um servidor LSP com preenchimento automático e pré-visualização ao vivo, uma extensão para Visual Studio Code, a ferramenta de linha de comando `slint-viewer` com recarga automática e um plugin do Figma para Slint.
O Slint é oferecido sob uma licença dupla: uma opção livre de royalties para apps proprietários de desktop, dispositivos móveis ou web, uma opção GPLv3 para projetos de código aberto e uma licença comercial para apps proprietários embarcados.
Recursos principais
- 01Linguagem de marcação declarativa `.slint` para descrever layouts, propriedades e bindings.
- 02Bindings para Rust, C++, JavaScript e Python.
- 03Compilação antecipada para código nativo.
- 04Vários renderizadores: femtovg (OpenGL ES 2.0), Skia e software (CPU).
- 05Pré-visualização ao vivo, servidor LSP e extensão para VS Code para editar arquivos .slint.
- 06Plugin do Figma para Slint para importar designs.
Casos de uso
- Criar GUIs para desktop ou dispositivos móveis em aplicações Rust ou C++.
- Criar interfaces para dispositivos embarcados, como Raspberry Pi ou microcontroladores.
- Distribuir uma UI baseada na web compilada para WebAssembly.
- Permitir que designers e desenvolvedores trabalhem separadamente na UI e na lógica.
Início rápido
- 1
Abra o exemplo Hello World no SlintPad sem instalar nada
- 2
Escolha uma linguagem e use o Getting Started Template correspondente, como o template de Rust
- 3
Siga o README da sua linguagem para instalar o pacote Slint
Antes de usar
- O uso do Slint em aplicativos proprietários exige a licença livre de royalties ou a licença comercial; a opção GPLv3 se aplica a aplicativos de código aberto.
- As bindings para JavaScript/NodeJS e Python estão marcadas como Beta.
Tópicos
Perguntas frequentes
- O que é slint?
- Slint é um toolkit declarativo de GUI para criar interfaces nativas em apps Rust, C++, JavaScript ou Python. Com o Slint, você escreve uma interface uma única vez na linguagem de marcação `.slint` e a conecta à lógica de negócio escrita em Rust, C++, JavaScript ou Python. Os arquivos `.slint` são compilados antecipadamente para código nativo, e o projeto tem como alvo sistemas embarcados, desktops e plataformas móveis, além de incluir um conjunto de demonstrações para web (WebAssembly).
- slint é gratuito? Qual é a licença?
- slint é open source sob a licença Other. Confira os termos da licença antes de usá-lo em produtos comerciais.
- slint ainda é mantido?
- Manutenção ativa. O último commit de slint foi em 21 de out. de 2026.
- Para que posso usar slint?
- Criar GUIs para desktop ou dispositivos móveis em aplicações Rust ou C++. Criar interfaces para dispositivos embarcados, como Raspberry Pi ou microcontroladores. Distribuir uma UI baseada na web compilada para WebAssembly. Permitir que designers e desenvolvedores trabalhem separadamente na UI e na lógica.
- Como instalar slint?
- Abra o exemplo Hello World no SlintPad sem instalar nada Escolha uma linguagem e use o Getting Started Template correspondente, como o template de Rust Siga o README da sua linguagem para instalar o pacote Slint
- Onde consigo slint?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/slint-ui/slint
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Uma biblioteca de GUI multiplataforma para Rust, com um modelo de programação simples, seguro em relação a tipos e inspirado no Elm.
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.
Uma biblioteca de UI em C, gratuita e com licença MIT, para criar interfaces gráficas em dispositivos embarcados, de MCUs pequenos a MPUs com Linux.
Um framework de UI multiplataforma em C++17, com backends de janela GLFW/SDL2 e renderização OpenGL/Vulkan, baseado em uma DSL declarativa.
Uma engine em Rust para criar interfaces nativas multiplataforma, com apps em Rust ou TSX renderizados com os widgets de cada plataforma.