explaingit

alexflint/gallium

Analysis updated 2026-05-18

3,659GoAudience · developerComplexity · 4/5Setup · hard

TLDR

A Go library for building macOS desktop apps with an HTML/JavaScript interface, powered by an embedded Chromium browser.

Mindmap

mindmap
  root((gallium))
    What it does
      Desktop apps in Go
      HTML based UI
      Embedded Chromium
    Tech stack
      Go
      Chromium
      Objective-C
    Use cases
      Build macOS desktop app
      Add native menus and dock icon
      Call macOS APIs from Go
    Audience
      Go developers
      Web UI developers
    Limitations
      macOS only
      Early unstable APIs
      Requires git-lfs

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build a macOS desktop app with a web-based UI while writing the backend logic in Go.

USE CASE 2

Add native menus, dock icons, and desktop notifications to a Go application.

USE CASE 3

Call macOS-specific APIs directly from Go via embedded Objective-C code.

What is it built with?

GoChromiumHTMLJavaScriptObjective-C

How does it compare?

alexflint/galliumupper/dbdoitintl/kube-no-trouble
Stars3,6593,6593,662
LanguageGoGoGo
Setup difficultyhardeasyeasy
Complexity4/53/52/5
Audiencedeveloperdeveloperops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires git-lfs to download a 92MB Chromium framework, macOS only, early and unstable API.

No license is stated in the README.

In plain English

Gallium is a Go library that lets developers build desktop applications where the visible interface is written in HTML, CSS, and JavaScript. The underlying display engine is Chromium, the same browser core that powers Google Chrome, so any web page or web-based UI can be rendered inside a native application window. The idea is similar to Electron, which is a well-known tool in the JavaScript world, except that with Gallium the surrounding application logic is written in Go rather than JavaScript. The library handles the parts of a desktop application that go beyond a single web page: application menus (the bar at the top of the screen with File, Edit, and similar items), a status bar icon, desktop notifications, and a dock icon. Developers write Go code to control these native elements, while the actual UI content lives in HTML files loaded into a Chromium window. Gallium also lets you mix in C or Objective-C code when you need to call macOS-specific APIs directly, such as making a window semi-transparent. At the time this README was written, Gallium only ran on macOS. Windows and Linux support was listed as planned but not yet available. The project was also described as an early release, with most of its programming interfaces likely to change before reaching a stable 1.0 version. Installing Gallium requires a tool called git large file storage because the package bundles a 92 MB binary copy of the Chromium content module. Building a finished application requires an extra step to wrap the output into an app bundle, which is the standard format macOS expects for programs that have menus and dock icons. Running the executable directly without that bundle causes some native features to stop working. This project is aimed at Go developers who want to ship a desktop application with a web-based interface rather than writing a fully native UI from scratch. If you know Go and already build web UIs, Gallium offers a way to package that work as a standalone desktop program without switching to a different programming language.

Copy-paste prompts

Prompt 1
Explain how Gallium compares to Electron for building desktop apps.
Prompt 2
Walk me through setting up git-lfs and installing Gallium on macOS.
Prompt 3
Show me how to add a menu bar and dock icon to a Gallium app.
Prompt 4
Help me write Objective-C code to control a native macOS window from Gallium.

Frequently asked questions

What is gallium?

A Go library for building macOS desktop apps with an HTML/JavaScript interface, powered by an embedded Chromium browser.

What language is gallium written in?

Mainly Go. The stack also includes Go, Chromium, HTML.

What license does gallium use?

No license is stated in the README.

How hard is gallium to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is gallium for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.