Framework de UI multiplataforma para .NET que permite crear aplicaciones de escritorio, móviles, integradas y WebAssembly con C# y XAML.
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
Comprueba que esté instalado Rust 1.89 o una versión posterior
- 2
Añade los crates de FerroUI a las dependencias de Cargo.toml
- 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
WinUI es la capa de interfaz de usuario de Microsoft, con controles y estilos modernos para crear aplicaciones de escritorio para Windows; WinUI 3 se incluye en Windows App SDK.
Framework de UI multiplataforma en C++17, con backends de ventana GLFW/SDL2 y renderizado OpenGL/Vulkan, basado en un DSL declarativo.
Un framework de UI nativo en Rust, renderizado en GPU para macOS, Windows, Linux y la web, con renderizador, texto, layout y resortes propios.
Framework de Python de código abierto para crear aplicaciones GUI que funcionan en escritorio, móviles y plataformas embebidas desde una sola base de código.
Un toolkit de Zig para crear aplicaciones de escritorio con una interfaz nativa dibujada en la GPU o con una página web en el webview del sistema.