Repolode
wieslawsoltes

wieslawsoltes/FerroUI

Framework de UI multiplataforma em Rust que porta a arquitetura do Avalonia, com propriedades estilizadas, data binding, marcação XAML e vários temas.

Estrelas
232
Forks
14
Issues abertas
22
Último commit
há 18 horas

O que é?

FerroUI é um framework de UI em modo retido para Rust que porta a arquitetura do Avalonia UI, mantendo seu modelo de objetos, contratos de controles e comportamento, para que aplicações, temas e XAML criados com base nesse modelo possam ser reaproveitados. Ele oferece um sistema de propriedades estilizadas, árvores lógicas e visuais, eventos roteados, layout, data binding, temas de controles (Fluent, Simple, WinUI 3, macOS 26 e Material 3) e um renderizador baseado em composição.

A renderização usa backends intercambiáveis: Skia é o renderizador padrão e de referência, com HarfBuzz para a composição de texto; também há um backend experimental do Vello. O framework é compatível com macOS, Windows, Linux (X11, Wayland e framebuffer), iOS, Android e navegadores via WebAssembly. Além disso, inclui uma API declarativa de Rust (`ferroui-view`) como alternativa ao XAML e ferramentas para desenvolvedores inspecionarem uma aplicação em execução.

O projeto está na versão 0.4.0, e o README observa que o suporte às plataformas é verificado principalmente em CI, máquinas virtuais e simuladores, e não em uma ampla variedade de dispositivos reais.

Recursos principais

  • 01Sistema de propriedades estilizadas com herança, coerção e notificação de alterações
  • 02Data binding com conversores, associações múltiplas, validação e templates
  • 03Marcação XAML compilada no momento da build ou carregada em tempo de execução
  • 04Backends de renderização intercambiáveis, incluindo Skia, com composição de texto via HarfBuzz
  • 05API declarativa de UI em Rust com sinais, componentes e hot reload
  • 06Ferramentas para desenvolvedores inspecionarem árvores, propriedades e layout

Casos de uso

  • Desenvolver aplicações desktop multiplataforma em Rust com um fluxo de trabalho no estilo XAML
  • Portar código de UI ou temas baseados em Avalonia para uma base de código Rust
  • Criar aplicações em Rust que também tenham como alvo iOS, Android ou navegadores
  • Experimentar uma API declarativa de UI em Rust sem XAML

Início rápido

  1. 1

    Verifique se o Rust 1.89 ou posterior está instalado

  2. 2

    Adicione os crates do FerroUI às dependências do Cargo.toml

  3. 3

    Execute o Designer Studio a partir do checkout do repositório

    cargo run -p designer-studio

Antes de usar

  • A versão 0.4.0 pode ter alterações na API pública na versão 0.5.0.
  • A primeira compilação baixa ou compila o Skia e compila o HarfBuzz a partir do código-fonte, por isso pode demorar bastante.
  • Várias plataformas foram verificadas apenas em CI, máquinas virtuais ou simuladores, não em dispositivos reais.
  • O suporte a framebuffer no Linux foi testado apenas com dispositivos virtuais, e o iOS, apenas no simulador.

Em coleções

Tópicos

Perguntas frequentes

O que é FerroUI?
Framework de UI multiplataforma em Rust que porta a arquitetura do Avalonia, com propriedades estilizadas, data binding, marcação XAML e vários temas. FerroUI é um framework de UI em modo retido para Rust que porta a arquitetura do Avalonia UI, mantendo seu modelo de objetos, contratos de controles e comportamento, para que aplicações, temas e XAML criados com base nesse modelo possam ser reaproveitados. Ele oferece um sistema de propriedades estilizadas, árvores lógicas e visuais, eventos roteados, layout, data binding, temas de controles (Fluent, Simple, WinUI 3, macOS 26 e Material 3) e um renderizador baseado em composição.
FerroUI é gratuito? Qual é a licença?
FerroUI é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
FerroUI ainda é mantido?
Manutenção ativa. O último commit de FerroUI foi em 6 de nov. de 2026.
Para que posso usar FerroUI?
Desenvolver aplicações desktop multiplataforma em Rust com um fluxo de trabalho no estilo XAML Portar código de UI ou temas baseados em Avalonia para uma base de código Rust Criar aplicações em Rust que também tenham como alvo iOS, Android ou navegadores Experimentar uma API declarativa de UI em Rust sem XAML
Como instalar FerroUI?
Verifique se o Rust 1.89 ou posterior está instalado Adicione os crates do FerroUI às dependências do Cargo.toml Execute o Designer Studio a partir do checkout do repositório: cargo run -p designer-studio
Onde consigo FerroUI?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/wieslawsoltes/FerroUI

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

Projetos relacionados