Back to browse
GitHub Repository

A GUI library for Go that doesn't make you want to switch to web dev.

32 starsGo

Proton – A Pure Go, Immediate-Mode GUI Library (Zero CGO)

by CzaxTanmay·Jul 17, 2026·2 points·0 comments

AI Analysis

●●SolidNiche GemCozy

Pure Go GUI with zero CGO that finally lets you cross-compile without a headache.

Strengths
  • Zero CGO requirement enables seamless cross-compilation to Windows and macOS from any machine.
  • API immunity layer shields application code from underlying Gio rendering engine changes.
  • Immediate-mode paradigm removes complex state management and component tree boilerplate.
Weaknesses
  • Built on Gio which has a smaller ecosystem and fewer community widgets than mature toolkits.
  • Immediate-mode rendering can be inefficient for complex forms compared to retained-mode UIs.
Target Audience

Go developers building native desktop applications without web tech

Similar To

Fyne · Gio · Dear ImGui

Post Description

Hi everyone,

I’ve been building Proton to solve a specific pain point in the Go ecosystem: building native GUIs without the "web dev" trade-offs or CGO complexity.

If you’ve tried to build desktop apps in Go, you’ve likely dealt with the frustration of CGO dependencies, bloated build pipelines, or feeling like you’re just writing a thin wrapper around a browser.

Proton aims to fix this with a clean, pure-Go approach:

Zero CGO: Cross-compile to Windows and macOS seamlessly from any machine.

Immediate-Mode API: No setState, no complex component trees, and no XML. You just write your draw function, and it runs every frame.

API Immunity: The public API is shielded from the underlying rendering engine (built on top of Gio). If the backend changes, your code remains untouched.

Full Feature Set: Includes inputs, lists, overlays, alerts, and 46 built-in themes (or easy custom hex-code styling).

It’s currently in development for v0.4.0, but it’s stable enough for cross-platform apps and even supports Android deployment out of the box.

I’d love to hear what you think, especially if you’ve been looking for a more "Go-native" way to handle GUIs.

Repo: https://github.com/CzaxStudio/proton

Similar Projects