Gio - immediate mode GUI in Go

submited by
Style Pass
2021-05-26 07:00:01

Gio implements portable immediate mode GUI programs in Go. Gio programs run on all the major platforms: iOS/tvOS, Android, Linux (Wayland/X11), macOS, Windows, FreeBSD, OpenBSD, and experimental support for browsers (Webassembly/WebGL). There is a unikernel port for running Gio programs in virtual machines.

Gio includes an efficient vector renderer based on the Pathfinder project (https://github.com/servo/pathfinder), implemented on OpenGL ES and Direct3D 11. Text and other shapes are rendered using only their outlines without baking them into texture images, to support efficient animations, transformed drawing and pixel resolution independence.

This is a screenshot of the Kitchen example. If your browser supports WebAssembly and WebGL, run the example by pressing the run button.

The “Immediate Mode GUI Programming” article compares Gio’s immediate mode design with the traditional retained mode APIs such as the browser DOM.

Leave a Comment