Nguồn: GitHub - NV404/gova

Tóm tắt

Gova là một declarative GUI framework cho Go, cho phép xây dựng ứng dụng desktop native cho macOS, Windows, và Linux từ một codebase duy nhất. Điểm khác biệt chính so với các lựa chọn hiện tại: không cần JavaScript runtime, không có embedded browser (như Electron), và không cần học C++ toolchain.

Architecture của Gova dựa trên component dưới dạng Go structs với typed prop fields, và reactive state được quản lý thông qua một Scope object tường minh. State, signals, và effects đều visible và không có hidden scheduler hay re-render surprises. Trên macOS, Gova tích hợp native dialogs (NSAlert, NSOpenPanel, NSSavePanel) và Dock badge/progress qua cgo; trên Windows và Linux dùng Fyne fallbacks với cùng API.

Build output là một static binary duy nhất — go build là đủ, không cần bundle thêm assets. Binary size khoảng 32MB (23MB sau khi strip), memory idle khoảng 80MB RSS. Framework còn có gova dev cho hot reload với tùy chọn persisted state.

Hiện tại Gova đang ở trạng thái pre-1.0, API vẫn có thể thay đổi. Gova được built on top của Fyne nhưng giữ Fyne là internal dependency — public API của Gova không phụ thuộc vào chi tiết renderer, cho phép swap renderer mà không break code của user.

👉 Đọc bài gốc