Repolode
marc2332

marc2332/freya

Biblioteca de GUI declarativa, nativa e multiplataforma para criar apps desktop e mobile em Rust.

Estrelas
3,307
Forks
152
Issues abertas
42
Último commit
há 12 horas

O que é?

Freya é uma biblioteca de GUI declarativa para Rust que renderiza interfaces nativas em desktops e outras plataformas. Os desenvolvedores descrevem a UI com funções e componentes Rust, e o estado definido com hooks como use_state aciona automaticamente a renderização novamente das partes que dependem dele. A biblioteca usa seu próprio núcleo reativo, em vez do Dioxus, desde a versão 0.4.

A biblioteca inclui componentes prontos, como Button, Switch, Slider, VirtualScrollView, Calendar e ColorPicker. Flags de feature opcionais adicionam um editor de código baseado em tree-sitter, um visualizador de Markdown, roteamento, estado global via freya-radio, i18n baseado em Fluent, estilização Material Design, renderização de HTML/CSS via Blitz, um emulador de terminal com suporte a PTY e criação de gráficos com Plotters.

Freya também oferece testes headless por meio do freya-testing, que pode simular cliques e renderizar a UI em um arquivo de imagem, além de um app de devtools para inspecionar a árvore de componentes.

Recursos principais

  • 01Modelo declarativo de componentes com estado baseado em hooks, que renderiza novamente automaticamente a UI dependente.
  • 02Componentes integrados, como Button, Switch, Slider, Calendar e VirtualScrollView.
  • 03Editor de código opcional que usa Rope para texto e tree-sitter para realce de sintaxe.
  • 04Roteamento, gerenciamento de estado global e internacionalização baseada em Fluent por meio de flags de feature.
  • 05Emulador de terminal integrado com suporte a PTY e renderização de HTML/CSS via Blitz.
  • 06Testes headless com a possibilidade de renderizar a UI em um arquivo.

Casos de uso

  • Criar ferramentas ou utilitários nativos para desktop usando apenas Rust.
  • Criar ferramentas para desenvolvedores, como editores de código ou interfaces baseadas em terminal.
  • Prototipar dashboards de visualização de dados com o recurso de criação de gráficos.
  • Escrever testes de UI para aplicativos de GUI em Rust sem abrir uma janela.

Início rápido

  1. 1

    Adicione Freya ao Cargo.toml

  2. 2

    Clone o repositório com os submódulos

    git clone --recurse-submodules https://github.com/marc2332/freya.git
  3. 3

    Acesse o diretório do projeto

    cd freya
  4. 4

    Execute um exemplo

    cargo run --example counter

Antes de usar

  • Para executar os exemplos, é necessário ter um ambiente de desenvolvimento Rust e os submódulos do git.
  • Compilações windows-gnu no Windows podem apresentar erros de compilação.

Em coleções

Tópicos

Perguntas frequentes

O que é freya?
Biblioteca de GUI declarativa, nativa e multiplataforma para criar apps desktop e mobile em Rust. Freya é uma biblioteca de GUI declarativa para Rust que renderiza interfaces nativas em desktops e outras plataformas. Os desenvolvedores descrevem a UI com funções e componentes Rust, e o estado definido com hooks como use_state aciona automaticamente a renderização novamente das partes que dependem dele. A biblioteca usa seu próprio núcleo reativo, em vez do Dioxus, desde a versão 0.4.
freya é gratuito? Qual é a licença?
freya é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
freya ainda é mantido?
Manutenção ativa. O último commit de freya foi em 6 de nov. de 2026.
Para que posso usar freya?
Criar ferramentas ou utilitários nativos para desktop usando apenas Rust. Criar ferramentas para desenvolvedores, como editores de código ou interfaces baseadas em terminal. Prototipar dashboards de visualização de dados com o recurso de criação de gráficos. Escrever testes de UI para aplicativos de GUI em Rust sem abrir uma janela.
Como instalar freya?
Adicione Freya ao Cargo.toml Clone o repositório com os submódulos: git clone --recurse-submodules https://github.com/marc2332/freya.git Acesse o diretório do projeto: cd freya Execute um exemplo: cargo run --example counter
Onde consigo freya?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/marc2332/freya

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados