Gio is designed to work with very few dependencies. It depends only on the platform libraries for window management, input and GPU drawing.
Currently Gio targets the latest released version of Go
in module mode. Earlier versions of Go and
GOPATH mode might work, but no
effort is made to keep them working.
For desktop builds using
go tool works directly. For mobile and some
additional desktop feature support, Gio uses a separate tool
To install the latest version of the tool use:
go install gioui.org/cmd/gogio@latest
For the platforms some additional dependencies may be necessary.
gogio tool will use the
appicon.png file in your main package directory,
if present, as the app icon.
Gio can be cross-complied for platforms other than the current OS, but this requires an appropriate cross-compiler for any native code integrations. Cross-compilation is most easily achieved from Linux, and the Linux instructions can be followed within a container or VM from other platforms.
macOS: a cross-compiler like osxcross as well as the macOS SDK (see link for instructions).
Windows: no special compiler is needed, as we don’t use CGo for Windows support.