Show HN: Gova – The declarative GUI framework for Go (github.com)

60 points by aliezsid 6 hours ago

13 comments:

by dgb23 4 hours ago

The code looks nice, but when I read GUI, I want to see screenshots of GUIs.

Apparently a major dependency is "Fyne", which does show some screenshots on their page:

https://fyne.io/

by curioussquirrel 4 hours ago

Came here to say the same. Please add a few screenshots!

by kitd 12 minutes ago

Nice work. The hot-reload dev cli looks very cool in a compiled-binary world.

by iamcalledrob 4 hours ago

I'll be watching this project.

Looking forward to a Golang declarative framework.

My advice to the author: invest in rich multi-window support early on. It's easy not to, but you always need it in the end, and it's painful to retrofit.

I feel like there's a great cross-platform UI story to be told with Go, since cross compiling is so easy.

by GuardCalf 4 hours ago

I once built a small utility using the "Fyne" framework; it was reasonably functional and made it very convenient to compile cross-platform executables (including for Android).

I took a look at your recommendation, "gova"; it seems to be just getting started—keep up the good work!

by rubenvanwyk 3 hours ago

Very excited every time I see cross-platform GUI in go.

I think the right mental model is that Gova is to Fyne like DaisyUI is to TailwindCSS??

by vr46 3 hours ago

Looks quite nice, alternatives to Tauri always welcome although that Tauri is truly fantastic, so much to emulate.

by fragmede an hour ago

Tauri is basically Electron though. This is a native toolkit, which is another thing entirely.

by vegancap 3 hours ago

That's a beautifully designed library, bravo! Will have to give it a go

by donatj 4 hours ago

This wraps Fyne? As a long time user of Fyne, what does this provide beyond Fyne itself?

by red_admiral 2 hours ago

A "mithril" like syntax. Like you could do (wrapped over multiple lines of course)

m.div([m.h1("title"), m.p(["click", m.a({href:"..."}, "me")])])

you can do (taken from the page)

g.VStack(g.Text(...), g.HStack(...).Spacing(g.SpaceMD))

some people will like this style, others not.

by neomantra an hour ago

The repo doesn't say it, but the Author noted on the Gophers Slack #showandtell that the style was inspired by SwiftUI. That VStack example shows it quite well.

by rubenvanwyk 3 hours ago

I think styling and ready-made components out of the box?

Data from: Hacker News, provided by Hacker News (unofficial) API