GitHub Hot Board

GitHub Hot Board · Hồ sơ kho lưu trữ

egoist/mygo

Develop desktop apps with native UI or web frontend in Go (Mô tả đến từ chính kho lưu trữ.)

Dữ liệu tại October 26egoist

Thứ hạng tốt nhất

#4

Tuần · Go theo ngôn ngữ

3.2K

Tổng sao

0

Tổng fork

5

Số ngày có mặt (30 ngày)

5 ngày trên bảng · +574 sao trong 30 ngày · ~+115/ngàyđỉnh 10-26: +1915 ngày liên tiếp

Trạng thái dự ánGiấy phép: MITPush gần nhất: October 26Issue mở (gồm PR): 0

Thu thập từ 2026-10-25; chưa rõ = chưa thu thập được

Gắn huy hiệu vào README của bạn · egoist/mygo[![Gắn huy hiệu vào README của bạn](https://git.vaiox.xyz/api/badge/egoist/mygo.svg)](https://git.vaiox.xyz/vi/repo/egoist/mygo)
<a href="https://git.vaiox.xyz/vi/repo/egoist/mygo"><img src="https://git.vaiox.xyz/api/badge/egoist/mygo.svg" alt="Gắn huy hiệu vào README của bạn" height="20"></a>

Tài liệu dự án

MyGo!!!!!

Desktop apps in Go, with native UI or a web frontend.

Sponsored by:

OpenUptime: open-source uptime monitoring and status pages


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:

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

Thứ hạng hiện tại

  • 4

    Cơn Sốt Hàng Tuần · Go

    3.2K sao · 0 fork · Star tuần này

    Tuần · Go →
  • 173

    Tăng tốc · Tăng thật trong tuần

    3.2K sao · 0 fork · Sao tuần này

    Độ dốc →
  • 61

    Ngựa Ô

    3.2K sao · 0 fork · Star / ngày

    Ngựa ô →

Diễn biến 30 ngày

Tổng số sao

Diễn biến thứ hạng

Tăng sao hằng ngày

Hàng xóm xếp hạng trên cùng bảng · Ngựa ô

← Về bảng xếp hạng