Sobre el proyecto

Iced es una biblioteca GUI multiplataforma para Rust centrada en la simplicidad y la seguridad de tipos, inspirada en Elm y The Elm Architecture. Proporciona una API con todo incluido para crear aplicaciones nativas de escritorio y web. Sus características clave incluyen una API simple y fácil de usar; un modelo de programación reactivo con seguridad de tipos; compatibilidad multiplataforma para Windows, macOS, Linux y la Web; diseño adaptable; widgets integrados como campos de texto y áreas desplazables; soporte para widgets personalizados; herramientas de depuración con métricas de rendimiento y time traveling; y soporte de primera clase para acciones asíncronas usando futures. El ecosistema es modular y está dividido en partes reutilizables: un runtime nativo agnóstico del renderizador que permite la integración con sistemas existentes; dos renderizadores integrados que aprovechan wgpu (con soporte para Vulkan, Metal y DX12) y tiny-skia (un respaldo por software); y un shell de ventanas. Siguiendo The Elm Architecture, las aplicaciones se estructuran en torno a cuatro conceptos: State (estado de la aplicación), Messages (interacciones del usuario o eventos), lógica View (mostrar el estado como widgets que producen mensajes) y lógica Update (reaccionar a los mensajes y actualizar el estado). El README incluye un ejemplo completo de contador que demuestra este patrón. Iced se creó originalmente como un intento de llevar la simplicidad de Elm a una biblioteca de juegos 2D, con el núcleo implementado en mayo de 2019. Desde entonces ha evolucionado hasta convertirse en una biblioteca GUI orientada al usuario final, manteniendo el ecosistema modular. El proyecto es actualmente software experimental, con una hoja de ruta y un rastreador de problemas disponibles. El desarrollo está patrocinado por el equipo de Cryptowatch en Kraken.com.