Framework de Go para crear aplicaciones de escritorio multiplataforma con una interfaz web (React, Vue, Svelte, etc.) y motores de renderizado nativos.
egoist/mygo
Framework de Go para crear aplicaciones de escritorio con una interfaz web en el webview del sistema operativo o una interfaz nativa dibujada en la GPU.
- Estrellas
- 5,015
- Forks
- 303
- Issues abiertos
- 100
- Último commit
- hace 23 horas
¿Qué es?
MyGo permite crear aplicaciones de escritorio en Go con dos tipos de ventanas: unas muestran una página web en el webview que ya proporciona el sistema operativo (WKWebView en macOS, WebKitGTK en Linux y WebView2 en Windows), y otras usan un toolkit de interfaz nativa en Go que MyGo dibuja en la GPU, sin HTML, JavaScript ni webview. Una misma ventana o aplicación puede combinar ambos tipos.
Para las interfaces web, los servicios de Go se vinculan y se exponen mediante un cliente TypeScript generado a partir del código Go, con IPC tipado, canales para transmitir valores y eventos tipados. El proyecto está escrito íntegramente en Go, sin cgo, por lo que se puede compilar de forma cruzada desde cualquier máquina. Las API de escritorio abarcan ventanas, menús, bandeja del sistema, diálogos, notificaciones, atajos globales, enlaces profundos, asociaciones de archivos y el color de acento del sistema.
El proyecto también incluye herramientas de empaquetado y distribución: bundles de aplicaciones, imágenes de disco, instaladores de Windows, paquetes Debian, firma de código, notarización y actualizaciones automáticas firmadas con actualizaciones delta.
Funciones clave
- 01Ventanas con páginas web que pueden llamar a código Go mediante un cliente TypeScript generado.
- 02Toolkit de interfaz nativa escrito en Go, con diseño flexbox y grid, widgets y listas virtualizadas.
- 03Go puro, sin cgo, que permite compilar para distintas plataformas desde cualquier máquina.
- 04API de escritorio para menús, bandeja del sistema, diálogos, notificaciones, atajos globales y enlaces profundos.
- 05Empaquetado y actualizaciones automáticas firmadas para macOS, Windows y Linux.
Casos de uso
- Crear una herramienta de escritorio cuando el equipo quiere usar Go tanto para la lógica de backend como para la interfaz.
- Crear aplicaciones ligeras con interfaz nativa que se abran rápido y consuman poca memoria.
- Distribuir una aplicación de escritorio multiplataforma con firma de código y actualizaciones automáticas.
- Añadir a una aplicación de escritorio una interfaz web respaldada por Go que use el webview del sistema.
Inicio rápido
- 1
Instala Go 1.27.3 o una versión posterior y Bun
- 2
Crea una aplicación de frontend web
bunx mygo-cli init my-app - 3
Entra en la carpeta del proyecto
cd my-app - 4
Inicia el servidor de desarrollo
bun run dev
Antes de usarlo
- El inicio rápido requiere Go 1.27.3 o una versión posterior y Bun.
Destacado en Repolode Weekly
- Número 3 · Modelos MoE grandes desde SSD y recompilaciones de Rust en milisegundos
Framework de escritorio en Go que permite elegir entre una interfaz web en el webview del sistema o una UI nativa dibujada en GPU. Es Go puro sin cgo, así que compila para otras plataformas desde cualquier máquina.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es mygo?
- Framework de Go para crear aplicaciones de escritorio con una interfaz web en el webview del sistema operativo o una interfaz nativa dibujada en la GPU. MyGo permite crear aplicaciones de escritorio en Go con dos tipos de ventanas: unas muestran una página web en el webview que ya proporciona el sistema operativo (WKWebView en macOS, WebKitGTK en Linux y WebView2 en Windows), y otras usan un toolkit de interfaz nativa en Go que MyGo dibuja en la GPU, sin HTML, JavaScript ni webview. Una misma ventana o aplicación puede combinar ambos tipos.
- ¿mygo es gratuito? ¿Qué licencia tiene?
- mygo es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿mygo sigue mantenido?
- Mantenimiento activo. El último commit de mygo fue el 6 nov 2026.
- ¿Para qué puedo usar mygo?
- Crear una herramienta de escritorio cuando el equipo quiere usar Go tanto para la lógica de backend como para la interfaz. Crear aplicaciones ligeras con interfaz nativa que se abran rápido y consuman poca memoria. Distribuir una aplicación de escritorio multiplataforma con firma de código y actualizaciones automáticas. Añadir a una aplicación de escritorio una interfaz web respaldada por Go que use el webview del sistema.
- ¿Cómo se instala mygo?
- Instala Go 1.27.3 o una versión posterior y Bun Crea una aplicación de frontend web: bunx mygo-cli init my-app Entra en la carpeta del proyecto: cd my-app Inicia el servidor de desarrollo: bun run dev
- ¿Dónde consigo mygo?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/egoist/mygo
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Un toolkit de GUI para Python que crea aplicaciones con los widgets nativos de cada sistema operativo.
Un toolkit de Zig para crear aplicaciones de escritorio con una interfaz nativa dibujada en la GPU o con una página web en el webview del sistema.
Una pequeña biblioteca C/C++ que integra una vista web nativa en aplicaciones de escritorio: usa WebKit en Linux y macOS, y WebView2 en Windows.
Un motor en Rust para crear interfaces nativas multiplataforma: permite desarrollar apps en Rust o TSX y renderizarlas con los widgets propios de cada plataforma.
Un motor de UI nativa multiplataforma en el que la lógica de la app se ejecuta en Go y cada plataforma dibuja con sus propias vistas nativas.