Wednesday, August 26, 2026
HomeGolangProton: A Go GUI library - Releases

Proton: A Go GUI library – Releases


Hey everybody! I’ve been a Go dev for a few years now, and I’m positive you’ve seen that Go has its fair proportion of complications relating to GUI app improvement.

I regarded on the choices on the market: Fyne is cool, however CGO? Why? Then there’s Gio… however the studying curve is fairly brutal. Wails is nice, however you then’re compelled to put in writing HTML, JS, and CSS.

So, I made a decision to construct a pure Go GUI framework proper on prime of Gio known as Proton.

package deal important

import "github.com/CzaxStudio/proton"

sort UI struct {
    identify proton.Editor
    btn  proton.Clickable
}

func important() {
    u := &UI{}
    a := proton.New("my app")
    a.Window("Hey", 480, 300, func(win *proton.Win) {
        proton.H3(win, "Hey from Proton!")
        proton.Hole(win, 8)
        proton.Enter(win, &u.identify, "Your identify")
        proton.Hole(win, 8)
        if proton.Button(win, &u.btn, "Go") {
            println("Hey,", u.identify.Textual content())
        }
    })
    a.Run()
}

It requires zero CGO, it’s lifeless easy to make use of, and it’s fully open-source. If this feels like one thing you’ve been on the lookout for, please give it a spin! When you attempt it and don’t prefer it, I’d love to listen to your suggestions on what I can repair or enhance. Let me know what you suppose!



1 Like

Starred :+1: extra gui libraries for Go at all times welcomed

Thank You maykie!

actually wished to create one thing that offers Go builders a clear, immediate-mode structure engine with out the headache of Cgo dependencies or heavy web-tech runtimes.

Since you have an interest in Go GUI choices, I’d like to know: What sort of desktop instruments or apps are you normally constructing (or wanting to construct) in Go? If there are particular elements or structure widgets you end up always needing, let me know—I’m actively shaping the roadmap for the subsequent point-releases!”


Be aware: The API is modified just a little. Instance code:

package deal important

import “github.com/CzaxStudio/proton”

func important() {
a := proton.New(“howdy”)
a.Window(“Hey”, 400, 200, func(win proton.Context) {
proton.H3(win, “Hey from Proton!”)
})
a.Run()
}

I’m Proton now. The thought and API look fairly good, much like Compose in Android. Nonetheless, it appears there isn’t any means to make use of present GIO widgets in Proton (possibly by means of some wrapper). For instance I want to use GIO’s Decorations and RichText as a result of they aren’t current in Proton. That is simply the results of 2 days of analysis. Critical use very probably discovers extra wants like that.

RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments