Abstract
In this workshop, Elias will take you all the way from an empty "func main" to a functional
GUI program that runs on your desktop, mobile and even in a browser. Along the way, you will
be introduced to the core concepts of Gio, in particular immediate mode GUIs and how common
tasks such as drawing, layout and input look like."
Level: Intermediary, experienced Go programmers.
Prerequisites:
- Go 1.13.
- Follow the setup instructions on https://man.sr.ht/~eliasnaur/gio/install.md
for your desktop system (Linux/Wayland, macOS, Windows). You have set up your
system correctly if you can run
$ go env -w GO111MODULE=on
$ go run gioui.org/apps/hello
and get a window with a "Hello, world" text in it.
Linux users, please note that Gio does not yet support X11, so you do need a
Wayland compatible compositor to run Gio. If the "go run" command above result in
the error "wayland: wl_display_connect failed" you're probably running X11.
- (Optional) If you want to run Gio programs on iOS or Android (device or
emulator), you need to follow the install instructions for those platforms.
Please note that running on iOS requires Xcode and a computer running macOS.
You have set eveything up correctly if you can run either
$ go run gioui.org/cmd/gio -target android gioui.org/apps/hello
$ adb install hello.apk
with a connected Android device or running emulator, or
$ go run gioui.org/cmd/gio -target ios -o hello.app gioui.org/apps/hello
$ xcrun simctl install booted hello.app
with a running iOS simulator.
* = the workshop will be paused for lunchtime and PM coffee break.