Immediate mode article
Gio can hardly be blamed for having too much documentation, so here's
an article that motivates the immediate mode programming model from a
conceptual perspective. It includes examples and compares Gio with
javascript as a straw man for traditional retained mode UI toolkits.
https://eliasnaur.com/blog/immediate-mode-gui-programming
Slightly simpler aligning
A small breaking change removed layout.Align and replaced it with a Layout
method on Direction. See
https://eliasnaur.com/blog/immediate-mode-gui-programming
for details and motivation for the change.
Android end-to-end test
Daniel Martà more or less single-handedly wrote all the Gio integration tests,
and he recently added one for Android. See
https://git.sr.ht/~eliasnaur/gio/commit/8d1e53cfa9b9d6ffae46ea1f23aca22c353bf810
for details, and perhaps utter a sigh of relief Daniel went through all those
nitty gritty Android details so you don't have to!
OpenBSD support
Aaron Bieber kindly contributed OpenBSD support to Gio, here:
https://git.sr.ht/~eliasnaur/gio/commit/fdaf8917322de2127382afb897ceaa35a0a9bc3a
As a small token of my ungratefulness, I convinced Aaron not only to add the
missing Pipe2 system call to golang.org/x/sys,
https://go-review.googlesource.com/c/sys/+/216244
but also to create and test the OpenBSD automatic testing setup:
https://git.sr.ht/~eliasnaur/gio/commit/ff6c798a2866cb1b6517a4616c73c153569be486
You're welcome Aaron :)
Shape library
The Gio vector drawing primitives are by nature raw and low level, so Werner
Laurensse is working on a library for drawing higher-level shapes on top:
https://github.com/wrnrlr/shape
Unikernels, Gio, conferences
If this months newsletter seems a bit light, it might be because I'm working on getting Go
programs to run directly on bare-metal and virtual machines. See
https://git.sr.ht/~eliasnaur/microvisor
for the rough prototype I'm going to present at dotGo and GopherCon Russia next
month.
The prototype can run simple programs already, but the goal is to demonstrate
Gio programs running without an operating system.
If you're interested in the motivations of unikernels and related work outside
Go, the Wikipedia page is quite detailed:
https://en.wikipedia.org/wiki/Unikernel
New sponsors
This month saw one new sponsor, Dmitri Shuralyov (@dmitshur). Thank you.
If you also find my work useful, please consider sponsoring me on
https://eliasnaur.com/sponsor
or by reaching out to me directly.
My full-time work on Gio and related open source projects is 100% funded by
donations and sponsorships.