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
- GitHub: github.com/egoist/mygo
- Homepage: https://mygo.egoist.dev
- Releases · Issues · Hacker News mentions
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