Um framework de UI multiplataforma para .NET, usado para criar apps desktop, mobile, embarcados e WebAssembly com C# e XAML.
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
Verifique se o Rust 1.89 ou posterior está instalado
- 2
Adicione os crates do FerroUI às dependências do Cargo.toml
- 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
WinUI é a camada de interface da Microsoft, com controles e estilos modernos para criar apps desktop para Windows; o WinUI 3 faz parte do Windows App SDK.
Um framework de UI multiplataforma em C++17, com backends de janela GLFW/SDL2 e renderização OpenGL/Vulkan, baseado em uma DSL declarativa.
Um framework de UI nativo em Rust, renderizado na GPU, para macOS, Windows, Linux e web, com renderer, texto, layout e springs próprios.
Framework Python de código aberto para criar apps com GUI que rodam em computadores, dispositivos móveis e plataformas embarcadas a partir de uma única base de código.
Toolkit em Zig para criar apps desktop com interface nativa renderizada na GPU ou com uma página web no webview do sistema.