finds.dev← search

// the find

hexops/vecty

★ 2,903 · Go · BSD-3-Clause · updated Oct 2022

Vecty lets you build responsive and dynamic web frontends in Go using WebAssembly, competing with modern web frameworks like React & VueJS.

Vecty is a Go framework for building browser frontends that compile to WebAssembly, using a React-style virtual DOM diffing model instead of direct DOM manipulation. It's aimed at Go developers who want to write UI code in Go and share logic between frontend and backend, without touching JS/TS.

Near-zero dependencies (just stdlib reflect) keeps bundle sizes small, especially with TinyGo — 81KB brotli for a hello-world versus the multi-MB blobs you get from unmodified Go WASM builds. The elem/event packages are code-generated from the HTML/DOM spec rather than hand-maintained, so the typed API stays in sync with what browsers actually support. The diffing approach is a real virtual DOM implementation, not a thin wrapper, and the todomvc/markdown examples show it handles nested component re-rendering correctly in tests.

Last pushed October 2022 — over three years stale, and the README itself admits it never hit v1.0.0 after '4 years in the making,' with SSR, routing, and any component library still missing by its own admission. The CI badge points to Travis CI, which most projects fled years ago; that alone is a sign nobody's maintaining the build pipeline. Bundle size numbers only look good if you adopt TinyGo, which has its own reduced stdlib and reflection limitations that aren't mentioned until you're already invested. No routing story means anything beyond a single-page toy app requires you to build URL handling yourself from scratch.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →