Repolode
elixir-crab

elixir-crab/gpui

Una biblioteca de Elixir para crear aplicaciones de escritorio nativas con una interfaz declarativa renderizada por el framework GPUI, basado en Rust.

Estrellas
102
Forks
4
Issues abiertos
12
Último commit
hace 4 días

¿Qué es?

GPUI permite a los desarrolladores crear aplicaciones de escritorio nativas con Elixir. El estado de la aplicación, la distribución de las ventanas y las declaraciones de la interfaz permanecen en Elixir, mientras que Rust gestiona el bucle de eventos nativo, las ventanas, el renderizado, el foco, IME y la accesibilidad. La interfaz se escribe con plantillas al estilo de HEEx, y los eventos de activación accesibles, del puntero y del teclado vuelven a Elixir mediante una ruta de eventos tipada.

La misma aplicación declarativa puede ejecutarse en una pantalla nativa local, una pantalla de prueba determinista que no requiere servidor de pantalla o una pantalla remota en otra máquina. Los controles habituales están disponibles en el paquete independiente gpui_components, respaldado por gpui-component. Se incluyen archivos NIF precompilados para Linux, macOS con Apple silicon y Windows x86-64.

El repositorio es un umbrella de Mix que incluye los paquetes gpui, gpui_components y gpui_native, además de ejemplos como una transcripción de texto enriquecido, un panel del runtime de BEAM y una galería de componentes.

Funciones clave

  • 01Interfaz declarativa escrita en Elixir con plantillas al estilo de HEEx
  • 02Rust y GPUI gestionan las ventanas nativas, el foco, IME y la accesibilidad
  • 03Pantalla de prueba determinista que se ejecuta sin servidor de pantalla
  • 04Pantallas remotas que mantienen la sesión autoritativa en otra máquina
  • 05Edición persistente de texto nativo con posiciones UTF-16, deshacer/rehacer e IME
  • 06Colecciones virtualizadas y texto enriquecido seleccionable

Casos de uso

  • Crear una herramienta o un panel de escritorio nativo sobre un sistema existente basado en Elixir/OTP
  • Escribir pruebas de interfaz para vistas de escritorio de Elixir sin servidor de pantalla
  • Ejecutar una aplicación controlada por Elixir cuyas ventanas se muestran en otra máquina
  • Añadir controles habituales, como botones y formularios, a una aplicación de escritorio de Elixir

Inicio rápido

  1. 1

    Clona el repositorio

  2. 2

    Descarga las dependencias

    mix deps.get
  3. 3

    Ejecuta el ejemplo de ventana de saludo

    RUST_FONTCONFIG_DLOPEN=1 mix run apps/gpui/examples/getting_started/01_hello_window.exs

Antes de usarlo

  • Los binarios nativos precompilados solo cubren Linux, macOS con Apple silicon y Windows x86-64.
  • Las funciones de visualización nativas requieren un servidor de pantalla local y los requisitos previos de la plataforma.

En colecciones

Temas

Preguntas frecuentes

¿Qué es gpui?
Una biblioteca de Elixir para crear aplicaciones de escritorio nativas con una interfaz declarativa renderizada por el framework GPUI, basado en Rust. GPUI permite a los desarrolladores crear aplicaciones de escritorio nativas con Elixir. El estado de la aplicación, la distribución de las ventanas y las declaraciones de la interfaz permanecen en Elixir, mientras que Rust gestiona el bucle de eventos nativo, las ventanas, el renderizado, el foco, IME y la accesibilidad. La interfaz se escribe con plantillas al estilo de HEEx, y los eventos de activación accesibles, del puntero y del teclado vuelven a Elixir mediante una ruta de eventos tipada.
¿gpui es gratuito? ¿Qué licencia tiene?
gpui es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿gpui sigue mantenido?
Mantenimiento activo. El último commit de gpui fue el 3 nov 2026.
¿Para qué puedo usar gpui?
Crear una herramienta o un panel de escritorio nativo sobre un sistema existente basado en Elixir/OTP Escribir pruebas de interfaz para vistas de escritorio de Elixir sin servidor de pantalla Ejecutar una aplicación controlada por Elixir cuyas ventanas se muestran en otra máquina Añadir controles habituales, como botones y formularios, a una aplicación de escritorio de Elixir
¿Cómo se instala gpui?
Clona el repositorio Descarga las dependencias: mix deps.get Ejecuta el ejemplo de ventana de saludo: RUST_FONTCONFIG_DLOPEN=1 mix run apps/gpui/examples/getting_started/01_hello_window.exs
¿Dónde consigo gpui?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/elixir-crab/gpui

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

Proyectos relacionados