Fyne is an easy to use UI toolkit and app API written in Go. We use OpenGL (through the go-gl and go-glfw projects) to provide cross platform graphics.
Version 1.0.1 is the current release which was a bugfix and stability release. We are now working towards 1.1 which will add new functionality.
To run a showcase of the features of Fyne execute the following:
cd $GOPATH/src/fyne.io/fyne/cmd/fyne_demo/
go build
./fyne_demo
And you should see something like this (after you click a few buttons):
Or if you are using the light theme:
Fyne is designed to be really easy to code with. Here are the steps to your first app.
As Fyne uses CGo you will require a C compiler (typically gcc). If you don't have one set up the instructions at Compiling may help.
By default Fyne uses the gl golang bindings which means you need a working OpenGL configuration.
Debian/Ubuntu based systems may also need to install the libgl1-mesa-dev
and xorg-dev
packages.
Using the standard go tools you can install Fyne's core library using:
go get fyne.io/fyne
And then you're ready to write your first app!
package main
import (
"fyne.io/fyne/widget"
"fyne.io/fyne/app"
)
func main() {
app := app.New()
w := app.NewWindow("Hello")
w.SetContent(widget.NewVBox(
widget.NewLabel("Hello Fyne!"),
widget.NewButton("Quit", func() {
app.Quit()
}),
))
w.ShowAndRun()
}
And you can run that simply as:
go run main.go
It should look like this:
Note that Windows applications load from a command prompt by default, which means if you click an icon you may see a command window. To fix this add the parameters
-ldflags -H=windowsgui
to your run or build commands.
More documentation is available at the Fyne developer website or on godoc.org.
You can find many example applications in the examples repository. Alternatively a list of applications using fyne can be found at our website