Repolode
marc2332

marc2332/freya

Una biblioteca GUI declarativa y nativa, multiplataforma, para crear aplicaciones de escritorio y móviles en Rust.

Estrellas
3,344
Forks
151
Issues abiertos
42
Último commit
hace 7 horas

¿Qué es?

Freya es una biblioteca GUI declarativa para Rust que renderiza interfaces nativas en escritorio y otras plataformas. Los desarrolladores describen la UI mediante funciones y componentes de Rust, y el estado definido con hooks como use_state activa automáticamente el nuevo renderizado de las partes que dependen de él. Desde la versión 0.4, se basa en su propio núcleo reactivo en lugar de Dioxus.

La biblioteca incluye varios componentes listos para usar, como Button, Switch, Slider, VirtualScrollView, Calendar y ColorPicker. Las feature flags opcionales añaden un editor de código basado en tree-sitter, un visor de Markdown, routing, estado global mediante freya-radio, i18n basada en Fluent, estilos de Material Design, renderizado de HTML/CSS mediante Blitz, un emulador de terminal con soporte para PTY y gráficos mediante Plotters.

Freya también ofrece pruebas headless a través de freya-testing, que permite simular clics y renderizar la UI en un archivo de imagen, además de una aplicación devtools para inspeccionar el árbol de componentes.

Funciones clave

  • 01Modelo declarativo de componentes con estado basado en hooks, que actualiza automáticamente la UI dependiente.
  • 02Componentes integrados como Button, Switch, Slider, Calendar y VirtualScrollView.
  • 03Editor de código opcional que usa Rope para el texto y tree-sitter para el resaltado de sintaxis.
  • 04Routing, gestión del estado global e internacionalización basada en Fluent mediante feature flags.
  • 05Emulador de terminal integrado con soporte para PTY y renderizado de HTML/CSS mediante Blitz.
  • 06Pruebas headless con la posibilidad de renderizar la UI en un archivo.

Casos de uso

  • Crear herramientas o utilidades nativas de escritorio usando Rust puro.
  • Crear herramientas para desarrolladores, como editores de código o interfaces de terminal.
  • Prototipar dashboards de visualización de datos con la función de gráficos.
  • Escribir pruebas de UI para aplicaciones GUI de Rust sin abrir una ventana.

Inicio rápido

  1. 1

    Añade Freya a Cargo.toml

  2. 2

    Clona el repositorio con los submódulos

    git clone --recurse-submodules https://github.com/marc2332/freya.git
  3. 3

    Ve al directorio del proyecto

    cd freya
  4. 4

    Ejecuta un ejemplo

    cargo run --example counter

Antes de usarlo

  • Para ejecutar los ejemplos, necesitas un entorno de desarrollo de Rust y los submódulos de git.
  • Las compilaciones windows-gnu en Windows pueden dar errores de compilación.

En colecciones

Temas

Preguntas frecuentes

¿Qué es freya?
Una biblioteca GUI declarativa y nativa, multiplataforma, para crear aplicaciones de escritorio y móviles en Rust. Freya es una biblioteca GUI declarativa para Rust que renderiza interfaces nativas en escritorio y otras plataformas. Los desarrolladores describen la UI mediante funciones y componentes de Rust, y el estado definido con hooks como use_state activa automáticamente el nuevo renderizado de las partes que dependen de él. Desde la versión 0.4, se basa en su propio núcleo reactivo en lugar de Dioxus.
¿freya es gratuito? ¿Qué licencia tiene?
freya es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿freya sigue mantenido?
Mantenimiento activo. El último commit de freya fue el 7 nov 2026.
¿Para qué puedo usar freya?
Crear herramientas o utilidades nativas de escritorio usando Rust puro. Crear herramientas para desarrolladores, como editores de código o interfaces de terminal. Prototipar dashboards de visualización de datos con la función de gráficos. Escribir pruebas de UI para aplicaciones GUI de Rust sin abrir una ventana.
¿Cómo se instala freya?
Añade Freya a Cargo.toml Clona el repositorio con los submódulos: git clone --recurse-submodules https://github.com/marc2332/freya.git Ve al directorio del proyecto: cd freya Ejecuta un ejemplo: cargo run --example counter
¿Dónde consigo freya?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/marc2332/freya

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

Proyectos relacionados