惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - Franky
U
Unit 42
MyScale Blog
MyScale Blog
B
Blog
阮一峰的网络日志
阮一峰的网络日志
量子位
IT之家
IT之家
The GitHub Blog
The GitHub Blog
F
Fortinet All Blogs
Recent Announcements
Recent Announcements
V
Visual Studio Blog
G
Google Developers Blog
Last Week in AI
Last Week in AI
雷峰网
雷峰网
博客园 - 聂微东
博客园 - 叶小钗
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
J
Java Code Geeks
博客园 - 司徒正美
Y
Y Combinator Blog
T
The Blog of Author Tim Ferriss
月光博客
月光博客
aimingoo的专栏
aimingoo的专栏

Hacker News

GitHub - SeanFDZ/macmind: Single-layer transformer in HyperTalk for the classic Macintosh Show HN: Agent-cache – Multi-tier LLM/tool/session caching for Valkey and Redis Bonsai 1-bit WebGPU - a Hugging Face Space by webml-community Moving a large-scale metrics pipeline from StatsD to OpenTelemetry / Prometheus GitHub - Nightmare-Eclipse/RedSun: The Red Sun vulnerability repository GitHub - SethPyle376/hiraeth: Local AWS emulator focused on fast integration testing, with SQS support, SQLite-backed state, and a debug-friendly web UI. GitHub - macOS26/Agent: Any AI, replaces Claude Code, Cursor, OpenClaw. Over 18 LLM providers (Claude, OpenAI, Gemini, Ollama, Zai, HF, Qwen) wired into a native Mac app that writes code, builds Xcode projects, bumps versions, manages git, automates Safari, use AppleScript, JS or Accessibility, extend Agent! w/ MCP Servers, run tasks from your iPhone via Messages. YouTube now lets you turn off Shorts I Made a Terminal Pager Burgers | マクドナルド公式 Commands — HackerNews CLI documentation ChatGPT for Excel PiCore - Raspberry Pi Port of Tiny Core Linux Live Nation illegally monopolized ticketing market, jury finds Google Broke Its Promise to Me. Now ICE Has My Data. Founding Engineer at Adaptional | Y Combinator CRISPR takes important step toward silencing Down syndrome’s extra chromosome GitHub - saffron-health/libretto: The AI toolkit for building reliable browser automations US v. Heppner (S.D.N.Y. 2026) no attorney-client privilege for AI chats [pdf] Retrofitting JIT Compilers into C Interpreters IPv6 – Google The Accursèd Alphabetical Clock Cybersecurity Looks Like Proof of Work Now Fragments: April 14 Cal.com Goes Closed Source: Why AI Security Is Forcing Our Decision | Cal.com - Scheduling Software for Online Bookings Laravel raised money and now injects ads directly into your agent When moving fast, talking is the first thing to break Too much Discussion of the XOR swap trick – Heather Cafe Introduction to Spherical Harmonics for Graphics Programmers The Grand Line
GitHub - NV404/gova
vaibhavachar · 2026-04-23 · via Hacker News

The declarative GUI framework for Go. Build native desktop apps for macOS, Windows, and Linux from a single Go codebase — typed components, reactive state, real platform dialogs, and one static binary. No JavaScript runtime, no embedded browser, no C++ toolchain to learn.

Go Reference Go Report Card CI License: MIT

Status: pre-1.0. The API will shift before v1.0.0. Pin a tag in production.

package main

import g "github.com/nv404/gova"

type Counter struct{}

func (Counter) Body(s *g.Scope) g.View {
    count := g.State(s, 0)
    return g.VStack(
        g.Text(count.Format("Count: %d")).Font(g.Title),
        g.HStack(
            g.Button("-", func() { count.Set(count.Get() - 1) }),
            g.Button("+", func() { count.Set(count.Get() + 1) }),
        ).Spacing(g.SpaceMD),
    ).Padding(g.SpaceLG)
}

func main() {
    g.Run("Counter", g.Define(func(s *g.Scope) g.View {
        return Counter{}
    }))
}

Why Gova

  • Components as structs. Views are plain Go structs with typed prop fields; defaults are zero values; composition is plain function calls. No magic property wrappers, no string keys, no hook-ordering rules.
  • Explicit reactive scope. State, signals, and effects live on a Scope you can see. No hidden scheduler, no re-render surprises, no Rx, no Redux.
  • Real native integrations where it matters. NSAlert, NSOpenPanel, NSSavePanel, and NSDockTile badge/progress/menu on macOS through cgo. Fyne fallbacks on Windows and Linux — same API everywhere.
  • One static binary. go build produces a single executable. No JavaScript runtime, no embedded browser, no extra assets to bundle.
  • Hot reload that actually reloads. gova dev watches Go files, rebuilds on save, and relaunches — with an opt-in PersistedState so UI state survives the reload.
  • Built on Fyne, but Fyne stays internal. The public API is yours to rely on. We swap out renderer details without breaking your code.

At a glance

Metric Value Notes
Binary size ~32 MB counter example, default build
Stripped ~23 MB go build -ldflags "-s -w"
Memory idle ~80 MB RSS, counter running
Go version 1.26+ plus a C toolchain for cgo
License MIT no runtime fees

Measured on macOS arm64 with Go 1.26.2. Numbers will vary by platform and feature set.

Install

go get github.com/nv404/gova@latest

Optional CLI for dev / build / run:

go install github.com/nv404/gova/cmd/gova@latest
gova dev ./examples/counter

Prerequisites: Go 1.26+ and a C toolchain (Xcode CLT on macOS, build-essential + libgl1-mesa-dev on Linux, MinGW on Windows).

Docs

Full documentation lives at gova.dev (or run npm run dev inside docs-site/ for local browsing). Key sections:

Examples

Every example in examples/ is a runnable program:

Example What it shows
counter The minimum viable Gova app
todo State, lists, forms
fancytodo Categories, derived state, richer layout
notes Nav, multi-view, stores
themed Dark/light mode, semantic colors
components Viewable composition, ZStack, Scaffold
dialogs Native dialogs, dock badge / progress / menu, app icon
go run ./examples/dialogs

Platform support

Feature macOS Windows Linux
Core UI Supported Supported Supported
Hot reload (gova dev) Supported Supported Supported
App icon (runtime) Supported Supported Supported
Native dialogs NSAlert / NSOpenPanel Fyne fallback Fyne fallback
Dock / taskbar NSDockTile Planned Planned

CLI

The gova CLI ships alongside the framework.

Command Purpose Notes
gova dev Hot reload Watch .go files, rebuild on save, relaunch the window
gova build Compile Static binary to ./bin/<name>
gova run Execute Build and launch once, no file watching

Contributing

See CONTRIBUTING.md. Tests are the contract:

go test ./...

Issues, discussions, and PRs all live on GitHub. Security issues? See SECURITY.md.

License

MIT. Gova is built on Fyne (BSD-3), which ships with the module as an internal dependency.