Taffy: la biblioteca de diseño de UI en Rust que acelera Servo, Bevy y Zed
Taffy: A flexible, high-performance, cross-platform UI layout library
Taffy es una biblioteca de diseño de interfaz de usuario escrita en Rust que implementa los algoritmos de CSS Block, Flexbox y CSS Grid. Es un proyecto colaborativo que ya utilizan Servo, Bevy, Zed, Lapce y otros. Ofrece un rendimiento competitivo frente a Yoga, con mejoras en árboles profundos y amplios. Incluye enlaces para Python y está en desarrollo para C y WASM. Su documentación se basa en las especificaciones web, por lo que los recursos de MDN y guías como Flexbox Froggy son aplicables.
Taffy implementa fielmente las especificaciones de Flexbox y CSS Grid, por lo que la documentación diseñada para la web debería traducirse limpiamente a la implementación de Taffy.
- nicoburns
Soy el mantenedor de Taffy: preguntadme lo que queráis.
Actualmente estoy en proceso de construir un motor de navegador / kit de herramientas GUI más amplio sobre él (https://github.com/dioxuslabs/blitz). Como parte de eso, estoy implementando muchas de las partes más complicadas del layout CSS (floats, etc.), y también trabajando duro en arreglar todos los tests WPT que seguimos aquí: https://blitz.is/status/wpt/css/css-flexbox.
La visión es una implementación completa y autónoma de los algoritmos de layout web que pueda integrarse fácilmente (con algoritmos individuales habilitados/deshabilitados según un modelo de pago por uso), y que también pueda formar parte de un ecosistema modular de componentes de motores de navegador que facilite a la gente la creación de nuevos motores de navegador.
Más allá de Blitz, algunos usuarios notables son:
- Servo, que lo usa solo para CSS Grid
- Zed, que lo usa a través de su kit de herramientas GPUI.
- chrisweekly
Tangente muy relacionada: para un recurso increíble que muestra cómo aprovechar CSS desde primeros principios, ved https://every-layout.dev
- hereonout2
¡Un nombre desafortunado para ciertos públicos en el Reino Unido!
- davidhyde
Esta biblioteca se puede usar para construir GUIs no_std en hardware embebido (microcontroladores con KBs de RAM). Es así de ligera y rápida.
- thecaio
Tener algunas capturas de pantalla o grabaciones de pantalla siempre es agradable para... bibliotecas de UI