egoist/mygo has 6,056 GitHub stars and 379 forks. GitHot measured +95 stars in 24 hours and +1,261 in 7 days. Last checked 2026-11-12 16:10 UTC. Last push 2026-11-09.
Comment ces chiffres sont mesurés
Develop desktop apps with native UI or web frontend in Go
Progression mesurée des étoiles
- in 24h
- +95
- in 7 days
- +1 261
- in 15 days
- Mise à jour retardée
- in 1 month
- Mise à jour retardée
Variations nettes sur des périodes qui se chevauchent, pas des totaux quotidiens. Les mesures absentes restent vides. Les étoiles indiquent l’intérêt, pas la qualité.
README.md
Original
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
uiand 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, Now Playing and the media keys, the system accent color and accessibility settings, watching files, and more.
- Ready to ship: app bundles and disk images, Windows installers, Debian packages, PKGBUILDs for Arch Linux 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:
type Greeter struct{}
// Greet returns a greeting.
func (Greeter) Greet(name string) string { return "Hello, " + name }
func main() {
mygo.Bind(Greeter{})
mygo.App.WhenReady(func() {
mygo.NewWindow(mygo.WindowOptions{Title: "Hello", URL: "/"})
})
if err := mygo.App.Run(); err != nil {
log.Fatal(err)
}
}
import { Greeter } from "./mygo"; // generated
document.body.textContent = await Greeter.greet("Ada");
A window with native UI, whose view is a Go function of the app's state:
type counter struct{ n int }
func (s *counter) view(c *ui.Context) {
ui.Column(c).Fill().Center().Gap(12).Children(func() {
ui.Text(c, fmt.Sprint(s.n)).FontSize(40).Bold()
if ui.PrimaryButton(c, "Increment").Clicked() {
s.n++
}
})
}
func main() {
s := &counter{}
mygo.App.WhenReady(func() {
mygo.NewWindow(mygo.WindowOptions{
Title: "Counter",
Content: ui.View(s.view),
})
})
if err := mygo.App.Run(); err != nil {
log.Fatal(err)
}
}
Getting started
With Go 1.27.3+ and Bun, create an app with a web frontend:
bunx mygo-cli init my-app # or: npx mygo-cli init my-app
cd my-app
bun run dev
An app of native UI needs Go alone:
go run github.com/egoist/mygo/cmd/mygo@latest init -template native my-app
cd my-app
go tool mygo dev
Read the documentation.
License
MIT
Explorer des projets similaires
freeCodeCamp/freeCodeCamp
La base de code open source et le cursus de freeCodeCamp.org. Apprenez gratuitement les mathématiques, la programmation et l'informatique.
459,068 étoilesdonnemartin/system-design-primer
Apprenez à concevoir des systèmes à grande échelle et préparez-vous à l’entretien de conception de systèmes. Comprend des cartes mémoire Anki.
377,734 étoilesreact/react
La bibliothèque pour les interfaces utilisateur web et natives.
252,565 étoilesvuejs/vue
Voici le dépôt de Vue 2. Pour Vue 3, rendez-vous sur https://github.com/vuejs/core
212,527 étoiles