Sobre el proyecto

Floem es una biblioteca de UI nativa de Rust centrada en la reactividad de grano fino y en código declarativo ergonómico. El README la describe como una biblioteca de UI declarativa de alto rendimiento inspirada en Xilem, Leptos y rui. El árbol de vistas se construye una sola vez, lo que, según el proyecto, evita crear accidentalmente un cuello de botella en las funciones de generación de vistas. También proporciona herramientas como una lista virtual para escribir código de UI eficiente. La biblioteca es multiplataforma para Windows, macOS y Linux. El renderizado puede usar wgpu a través de vger o vello, o el renderizador Skia con respaldo de GPU de AnyRender. Si no hay una GPU disponible, se usa un renderizador de CPU basado en tiny-skia. El diseño utiliza Taffy y admite tanto Flexbox como Grid en cualquier nodo de vista. Floem incluye primitivas reactivas llamadas signals, inspiradas en leptos_reactive, para mantener las actualizaciones del estado de la UI mínimas y eficientes. Los widgets se pueden personalizar en apariencia y comportamiento mediante una API de estilos que admite clases y tematización. Se pueden instalar temas de terceros. Admite transiciones y animaciones por keyframes, con easing mediante funciones de tipo spring. Otras características mencionadas en el README incluyen un inspector de elementos para depurar el diseño, temas globales claros y oscuros, un sistema de diseño integrado para declarar temas personalizados y localización mediante el crate Fluent con fallbacks, cambio de idioma en tiempo de ejecución y anulaciones de idioma por parte. Un ejemplo de inicio rápido muestra un contador con RwSignal, Button y Label. Se enlazan documentación y ejemplos de código, incluida una galería de widgets. El proyecto señala que aún está madurando y que puede hacer cambios de ruptura ocasionales antes de la v1. Se agradecen las contribuciones y se proporciona un entorno de desarrollo en la nube Lapdev listo para usar.