Hi,
  
I'm very happy to announce the first public release of Gio, a project for 
writing portable, hardware accelerated, immediate mode GUI programs in Go.

If you have Go 1.12 installed,

    $ export GO111MODULE=on
    $ go run gioui.org/apps/hello

should display the proverbial hello world message. If not, please follow 
the setup guide at

https://gioui.org/

The setup guide describes how to run the gio programs on Android an iOS. 

The command

    $ go run gioui.org/apps/gophers

runs a simple demo displaying Go contributors fetched from Github. Specify 
a github token with the -token flag if you run out of quota.

Gio programs run on all the major platforms: iOS/tvOS, Android, Linux 
(Wayland), macOS and Windows. The project is very much experimental; don't 
expect Gio to produce production ready programs and apps yet.

Gio only depends on the platform libraries for drawing and input and avoids 
the platform toolkits. Gio has an immediate mode design where no structure 
is imposed on the program, not even for the layout hierachy. Unlike any 
other Go project I know of, Gio runs on all the major platforms, mobile and 
desktop alike: iOS/tvOS, Android, macOS, Linux, Windows.

Gio includes an efficient vector renderer based on the Pathfinder project 
(https://github.com/pcwalton/pathfinder). Text and other shapes are 
rendered without baking them into texture images, to support efficient 
animations, transformed drawing and pixel resolution independence.

I decided to release Gio a little earlier than planned because of 
increasing activity in the Go GUI space. Fyne recently reached 1.0 and just 
two days ago Johann Freymuth released his ui library.
It is my ambition to make Go a natural choice for GUI programs everywhere. 
I hope you will be inspired to help me with Gio, but if you don't, Gio is 
dual licensed under MIT and the UNLICENSE, anyone is free to use Gio's code 
as their own, even without attribution. The gioui.org/ui/app package is 
particularly interesting; it abstracts window management, input and vector 
drawing into a simple Go API. The gioui.org/cmd/gio tool packages Gio 
programs into iOS/tvOS frameworks or Android AAR files.

The wide platform support is Gio's eye-catcher, but I'm most proud of its 
design. I've spent more than a year on the project and most of that time 
went into designing the API. However, this early release contains very 
little documentation (and no tests!); expect much more documentation in the 
coming months.

The project is hosted on Sourcehut (https://git.sr.ht/~eliasnaur/gio). 
Despite its very young age, I chose Sourcehut because it is strictly open 
source, its business model is simple and because it supports contributions 
without registration. The mailing list 
(https://lists.sr.ht/~eliasnaur/gio-dev) is open to everyone and patches 
are sent with git send-email. I expect that even bug reports 
(https://todo.sr.ht/~eliasnaur/gio) can be filed with an email in the 
future.

 - elias

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to