Show HN: Gova – The declarative GUI framework for Go
65 points
6 hours ago
| 8 comments
| github.com
| HN
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/

reply
curioussquirrel
3 hours ago
[-]
Came here to say the same. Please add a few screenshots!
reply
giancarlostoro
10 minutes ago
[-]
Dear Future architect of some neat new technology to be someday posted on HN please do the following:

If you make anything with a UI, even a GUI stack, always include screenshots. If you make a programming language or programming framework / library, always include code samples!

Really show us nerds the bits we want to see right away, screenshots / code or even a video (fully optional, unless its some type of terminal shell or something where a video would illuminate things!) would sell it better. Many of us are working and don't yet have time to pull down everything to run it locally.

Honestly, even if its not open source, if you're selling a product, SHOW THE PRODUCT not just descriptions of the product.

reply
kitd
23 minutes ago
[-]
Nice work. The hot-reload dev cli looks very cool in a compiled-binary world.
reply
iamcalledrob
3 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.

reply
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??

reply
vr46
3 hours ago
[-]
Looks quite nice, alternatives to Tauri always welcome although that Tauri is truly fantastic, so much to emulate.
reply
fragmede
1 hour ago
[-]
Tauri is basically Electron though. This is a native toolkit, which is another thing entirely.
reply
donatj
3 hours ago
[-]
This wraps Fyne? As a long time user of Fyne, what does this provide beyond Fyne itself?
reply
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.

reply
neomantra
1 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.
reply
rubenvanwyk
3 hours ago
[-]
I think styling and ready-made components out of the box?
reply
vegancap
3 hours ago
[-]
That's a beautifully designed library, bravo! Will have to give it a go
reply
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!

reply