Getting Started
Using the Fyne toolkit to build cross platform applications is very simple but does require some tools to be installed before you can begin. If your computer is set up for development with Go then the following steps may not be required, but we advise reading the tips for your operating system just in case. If later steps in this tutorial fail then you should re-visit the prerequisites below.
Prerequisites
Fyne requires 3 basic elements to be present, the Go tools (at least version 1.12), a C compiler (to connect with system graphics drivers) and a system graphics driver. The instructions vary depending on your operating system, choose the appropriate tab below for installation instructions.
Note that these steps are just required for development - your Fyne applications will not require any setup or dependency installation for end users!
- Windows
- macOS X
- Linux
- Raspberry Pi
- BSD
- Android
- iOS
- Termux (create Android apk without PC - on Android)
The MSYS2 is the recommended approach for working on windows, proceed as follows:
- Install MSYS2 from msys2.org
- Once installed do not use the MSYS terminal that opens
- Open “MSYS2 MinGW 64-bit” from the start menu
-
Execute the following commands (if asked for install options be sure to choose “all”):
$ pacman -Syu $ pacman -S git mingw-w64-x86_64-toolchain mingw-w64-x86_64-go
-
You will need to add ~/Go/bin to your $PATH, for MSYS2 you can paste the following command into your terminal:
$ echo "export PATH=\$PATH:~/Go/bin" >> ~/.bashrc
- For the compiler to work on other terminals you will need to set up the windows %PATH% variable to find these tools. Go to the “Edit the system environment variables” control panel, tap “Advanced” and add “C:\msys64\mingw64\bin” to the Path list.
- Download Go from the download page and follow instructions
- Install Xcode from the Mac App Store
- Set up the Xcode command line tools by opening a Terminal window and typing the following:
xcode-select --install
- In macOS the graphics drivers will already be installed.
- You will need to install Go, gcc and the graphics library header files using your package manager, one of the following commands will probably work.
- Debian / Ubuntu:
sudo apt-get install golang gcc libgl1-mesa-dev xorg-dev
- Fedora:
sudo dnf install golang golang-misc gcc libXcursor-devel libXrandr-devel mesa-libGL-devel libXi-devel libXinerama-devel libXxf86vm-devel
- Arch Linux:
sudo pacman -S go xorg-server-devel libxcursor libxrandr libxinerama libxi
- Solus:
sudo eopkg it -c system.devel golang mesalib-devel libxrandr-devel libxcursor-devel libxi-devel libxinerama-devel
- openSUSE:
sudo zypper install go gcc libXcursor-devel libXrandr-devel Mesa-libGL-devel libXi-devel libXinerama-devel libXxf86vm-devel
- Void Linux:
sudo xbps-install -S go base-devel xorg-server-devel libXrandr-devel libXcursor-devel libXinerama-devel libXxf86vm-devel
- Alpine Linux
sudo apk add go gcc libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev linux-headers mesa-dev
- NixOS
nix-shell -p libGL pkg-config xorg.libX11.dev xorg.libXcursor xorg.libXi xorg.libXinerama xorg.libXrandr xorg.libXxf86vm
- You will need to install Go, gcc and the graphics library header files using the package manager.
sudo apt-get install golang gcc libegl1-mesa-dev xorg-dev
- You will need to install Go, gcc and the graphics library header files using the package manager.
- FreeBSD:
sudo pkg install go gcc xorg pkgconf
- OpenBSD:
sudo pkg_add go
- NetBSD:
sudo pkgin install go pkgconf
- To develop apps for Android you will first need to install the tools for your current computer (Windows, macOS or Linux)
- Once complete you will need to install the Android SDK and Android NDK - the recommended approach is to install Android Studio and then go to Tools > SDK Manager and from SDK Tools install the NDK (Side by side) package.
- Alternatively you can download the Standalone Android NDK which is a more lean approach. Extract the folder and point the
ANDROID_NDK_HOME
environment variable to it.
- To develop apps for iOS you will need access to an Apple Mac computer, configured according to the macOS tab above.
- You will also need to create an Apple Developer account and sign up to the developer program (costs apply) to obtain the necessary certificate to run your app on any devices.
Compiling Fyne apps on Android you will need Android 9 or above
- Install fdroid and from there termux
- Open Termux and install Go and Git:
pkg install golang git
- Install NDK and SDK to termux from https://github.com/Lzhiyong/termux-ndk and set enviroment variables
ANDROID_HOME
andANDROID_NDK_HOME
(you can get more help from video)
Downloading
Since Go 1.16 you will need to set up the module before you can use the package.
Run the following command and replace MODULE_NAME
with your preferred module name (this should be called in a new folder specific for your application).
$ mkdir myapp
$ cd myapp
$ go mod init MODULE_NAME
You now need to download the Fyne module and helper tool. This will be done using the following commands:
$ go get fyne.io/fyne/v2@latest
$ go install fyne.io/fyne/v2/cmd/fyne@latest
If you are unsure of how Go modules work, consider reading Tutorial: Create a Go module.
Check your installation
Before coding an app or running an example you can check your install using the Fyne Setup tool. Simply download the right app for your computer from the link and run it, you should see something like the following screen:
If there are any problems with your installation see the troubleshooting section for hints.
Run the demo
If you want to see the Fyne toolkit in action before you start to code your own application, you can see our demo app running on your computer by executing:
$ go run fyne.io/fyne/v2/cmd/fyne_demo@latest
Please note that the first run has to compile some C-code and can thus take longer than usual. Subsequent builds reuse the cache and will be much faster.
Installing
If you want to, you can also install the demo using the following command (requires Go 1.16 or later):
$ go install fyne.io/fyne/v2/cmd/fyne_demo@latest
If your GOBIN
environment has been added to path (should be by default on macOS and Windows), you can then run the demo:
$ fyne_demo
And that’s all there is to it! Now you can write your own Fyne application in your IDE of choice. If you want to see some Fyne code in action then you can read your first application.