Repolode
wieslawsoltes

wieslawsoltes/FerroUI

Un framework de UI multiplataforma para Rust que adapta la arquitectura de Avalonia e incluye propiedades con estilo, enlace de datos, marcado XAML y varios temas.

Estrellas
232
Forks
14
Issues abiertos
22
Último commit
hace 3 horas

¿Qué es?

FerroUI es un framework de UI de modo retenido para Rust que adapta la arquitectura de Avalonia UI y conserva su modelo de objetos, los contratos de los controles y su comportamiento, para que las aplicaciones, los temas y el código XAML creados para ese modelo puedan reutilizarse. Ofrece un sistema de propiedades con estilo, árboles lógicos y visuales, eventos enrutados, diseño, enlace de datos, temas para controles (Fluent, Simple, WinUI 3, macOS 26 y Material 3) y un renderizador basado en composición.

El renderizado utiliza backends intercambiables: Skia es el renderizador predeterminado y de referencia, con HarfBuzz para la composición tipográfica, y también hay disponible un backend experimental de Vello. El framework es compatible con macOS, Windows, Linux (X11, Wayland y framebuffer), iOS, Android y navegadores mediante WebAssembly. También incluye una API declarativa de Rust (`ferroui-view`) como alternativa a XAML, además de herramientas para inspeccionar aplicaciones en ejecución.

El proyecto está en la versión 0.4.0 y el README indica que la compatibilidad con plataformas se verifica principalmente en CI, máquinas virtuales y simuladores, y no en una amplia variedad de dispositivos reales.

Funciones clave

  • 01Sistema de propiedades con estilo, herencia, coerción y notificación de cambios
  • 02Enlace de datos con convertidores, enlaces múltiples, validación y plantillas
  • 03Marcado XAML compilado durante la compilación o cargado en tiempo de ejecución
  • 04Backends de renderizado intercambiables, incluido Skia, con composición tipográfica mediante HarfBuzz
  • 05API declarativa de UI para Rust con señales, componentes y recarga en caliente
  • 06Herramientas para inspeccionar árboles, propiedades y diseño

Casos de uso

  • Crear aplicaciones de escritorio multiplataforma en Rust con un flujo de trabajo al estilo de XAML
  • Portar código de UI o temas basados en Avalonia a una base de código Rust
  • Crear aplicaciones Rust que también se ejecuten en iOS, Android o navegadores
  • Experimentar con una API declarativa de UI para Rust sin XAML

Inicio rápido

  1. 1

    Comprueba que esté instalado Rust 1.89 o una versión posterior

  2. 2

    Añade los crates de FerroUI a las dependencias de Cargo.toml

  3. 3

    Ejecuta Designer Studio desde una copia del repositorio

    cargo run -p designer-studio

Antes de usarlo

  • La versión 0.4.0 podría sufrir cambios en la API pública en la versión 0.5.0.
  • La primera compilación descarga o compila Skia y compila HarfBuzz desde el código fuente, por lo que puede tardar bastante.
  • Algunas plataformas solo se verificaron en CI, máquinas virtuales o simuladores, no en dispositivos reales.
  • La compatibilidad con el framebuffer de Linux solo se probó con dispositivos virtuales, y iOS, solo en el simulador.

En colecciones

Temas

Preguntas frecuentes

¿Qué es FerroUI?
Un framework de UI multiplataforma para Rust que adapta la arquitectura de Avalonia e incluye propiedades con estilo, enlace de datos, marcado XAML y varios temas. FerroUI es un framework de UI de modo retenido para Rust que adapta la arquitectura de Avalonia UI y conserva su modelo de objetos, los contratos de los controles y su comportamiento, para que las aplicaciones, los temas y el código XAML creados para ese modelo puedan reutilizarse. Ofrece un sistema de propiedades con estilo, árboles lógicos y visuales, eventos enrutados, diseño, enlace de datos, temas para controles (Fluent, Simple, WinUI 3, macOS 26 y Material 3) y un renderizador basado en composición.
¿FerroUI es gratuito? ¿Qué licencia tiene?
FerroUI es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿FerroUI sigue mantenido?
Mantenimiento activo. El último commit de FerroUI fue el 6 nov 2026.
¿Para qué puedo usar FerroUI?
Crear aplicaciones de escritorio multiplataforma en Rust con un flujo de trabajo al estilo de XAML Portar código de UI o temas basados en Avalonia a una base de código Rust Crear aplicaciones Rust que también se ejecuten en iOS, Android o navegadores Experimentar con una API declarativa de UI para Rust sin XAML
¿Cómo se instala FerroUI?
Comprueba que esté instalado Rust 1.89 o una versión posterior Añade los crates de FerroUI a las dependencias de Cargo.toml Ejecuta Designer Studio desde una copia del repositorio: cargo run -p designer-studio
¿Dónde consigo FerroUI?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/wieslawsoltes/FerroUI

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados