Framework de Go para crear aplicaciones de escritorio multiplataforma con una interfaz web (React, Vue, Svelte, etc.) y motores de renderizado nativos.
maxence-charriere/go-app
Paquete de Go para crear aplicaciones web progresivas con WebAssembly y una interfaz declarativa basada en componentes, escrita íntegramente en Go.
- Estrellas
- 8,973
- Forks
- 406
- Issues abiertos
- 52
- Último commit
- hace 24 horas
¿Qué es?
go-app permite crear aplicaciones web progresivas con Go. La interfaz se escribe con componentes reutilizables que crean y combinan elementos HTML directamente en código Go, sin necesidad de JavaScript ni de un lenguaje de plantillas independiente en el frontend. El código Go se compila a WebAssembly para ejecutarse en el navegador.
El paquete sigue el modelo estándar de Go net/http, por lo que una aplicación se puede servir mediante http.Handle y http.ListenAndServe, como cualquier otro servidor web de Go. Las aplicaciones creadas con él pueden ejecutarse en su propia ventana, funcionar sin conexión y están diseñadas para ser compatibles con SEO. La navegación entre componentes se gestiona con app.Route.
El proyecto requiere Go 1.18 o una versión posterior y se instala como módulo de Go. El sitio de documentación go-app.dev incluye información sobre la sintaxis declarativa y una guía de inicio.
Funciones clave
- 01Crear interfaces íntegramente en Go con una sintaxis declarativa basada en componentes.
- 02Compilar Go a WebAssembly para ejecutarlo en el navegador.
- 03Seguir las interfaces estándar de Go net/http para servir aplicaciones.
- 04Permitir el funcionamiento sin conexión y la ejecución en su propia ventana como PWA.
- 05Ofrecer navegación entre componentes con app.Route.
Casos de uso
- Crear el frontend de una web o PWA para un equipo que prefiere escribirlo todo en Go.
- Crear aplicaciones web instalables y capaces de funcionar sin conexión que también necesiten aparecer en los resultados de los motores de búsqueda.
- Compartir tipos y lógica de Go entre un servidor backend y una interfaz de usuario en el navegador.
Inicio rápido
- 1
Inicializa un módulo de Go en la carpeta de tu proyecto
go mod init - 2
Instala el paquete go-app
go get -u github.com/maxence-charriere/go-app/v11/pkg/app - 3
Sigue la guía Getting Started de go-app.dev para crear tu primera aplicación
Temas
Preguntas frecuentes
- ¿Qué es go-app?
- Paquete de Go para crear aplicaciones web progresivas con WebAssembly y una interfaz declarativa basada en componentes, escrita íntegramente en Go. go-app permite crear aplicaciones web progresivas con Go. La interfaz se escribe con componentes reutilizables que crean y combinan elementos HTML directamente en código Go, sin necesidad de JavaScript ni de un lenguaje de plantillas independiente en el frontend. El código Go se compila a WebAssembly para ejecutarse en el navegador.
- ¿go-app es gratuito? ¿Qué licencia tiene?
- go-app es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿go-app sigue mantenido?
- Mantenimiento activo. El último commit de go-app fue el 21 oct 2026.
- ¿Para qué puedo usar go-app?
- Crear el frontend de una web o PWA para un equipo que prefiere escribirlo todo en Go. Crear aplicaciones web instalables y capaces de funcionar sin conexión que también necesiten aparecer en los resultados de los motores de búsqueda. Compartir tipos y lógica de Go entre un servidor backend y una interfaz de usuario en el navegador.
- ¿Cómo se instala go-app?
- Inicializa un módulo de Go en la carpeta de tu proyecto: go mod init Instala el paquete go-app: go get -u github.com/maxence-charriere/go-app/v11/pkg/app Sigue la guía Getting Started de go-app.dev para crear tu primera aplicación
- ¿Dónde consigo go-app?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/maxence-charriere/go-app
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Framework de Rust para crear aplicaciones web interactivas del lado del cliente y compilarlas a WebAssembly, con una macro para HTML similar a JSX.
Kit de herramientas GUI multiplataforma y API para crear aplicaciones de escritorio y móviles con Go desde una sola base de código.
Una versión de FFmpeg en WebAssembly y JavaScript que permite grabar, convertir y transmitir video y audio desde el navegador.
Un emulador de PC x86 que se ejecuta en el navegador y traduce código máquina a WebAssembly en tiempo de ejecución para iniciar sistemas operativos reales.
Un runtime de WebAssembly y CLI para ejecutar aplicaciones y código de agentes de IA en entornos rápidos, ligeros y aislados.