📈 GH Trending Explorer 🎲 Surprise me

← all repos

egoist / mygo

git clone https://github.com/egoist/mygo.git v0.5.5 · 4d ago

Develop desktop apps with native UI or web frontend in Go

—
stars, 24h
—
stars, 7 days
+2.5k
stars, 30 days · #136
2.5k
★ total
132
forks · 106 open issues

Star history starts 2026-10-20; the chart appears after the second daily snapshot.

LanguageGo
LicenseMIT
Created2026-09-26 (24d ago)
Last pushtoday
Watchers3
OwnerUser

Links

README excerpt
**Desktop apps in Go, with native UI or a web frontend.**
Sponsored by:
---
Each MyGo window shows one of two kinds of interface, and one app, or one
window, can mix them:
- **A web page**, in the webview the OS already has: WKWebView on macOS,
 WebKitGTK on Linux, WebView2 on Windows. Build the frontend with any web
 tools; it calls your Go code through a TypeScript client generated from it.
- **Native UI**, written in Go alone with package `ui` and
 drawn by MyGo itself on the GPU: no HTML, no JavaScript and no webview, so
 the window opens at once and takes little memory.
Either way, an app is a single Go binary of a few megabytes, focused on low
memory and CPU use.
- **Pure Go, no cgo**: build for every platform from any machine.
- **Typed IPC** for pages: bind Go services, stream values through channels
 and send typed events; the TypeScript client is generated from your Go
 code.
- **A Go UI toolkit** for native UI: flexbox and grid layout, widgets, text
 editing with input methods, virtualized lists, SVG icons, animations,
 screen reader support, and views you test without a window; Liquid Glass
 on every platform with the glass plugin; web pages inside native UI, under
 the menus and dialogs it shows over them.
- **Desktop APIs** for both: windows, menus, tray, dialogs, notifications,
 global shortcuts, deep links, file associations, recent documents, the
 system accent color and accessibility settings, watching files, and more.
- **Ready to ship**: app bundles and disk images, Windows installers, Debian
 packages and a Linux install script, code signing, notarization, and signed
 auto-updates with delta updates and an update window in the manner of
 Sparkle.
A window with a web page, whose frontend calls Go:
 [code] 
 [code] 
A window with native UI, whose view is a Go function of the app's state:
 [code] 
## Getting started
With Go 1.27+ and Bun, create an app
with a web frontend:
 [code] 
An app of native UI needs Go alone:
 [code] 
Read the documentation.
## License
MIT