MyGo
v0.2.15 · macOS, Linux, Windows

Desktop apps in Go.Tiny, fast, fully typed.

One small binary for macOS, Windows and Linux. A web frontend or native UI in Go, with installers and auto-updates included.

Get started
Binary
~7MB
Memory, native UI
~44MB
Memory, webview included
~62MB
CPU at idle
0%
main.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)
}
}
src/main.ts
import { Greeter } from "./mygo"; // generated

document.body.textContent = await Greeter.greet("Ada");

./mygo is generated from main.go, with the types of your structs and the docs of your methods.