Fyne: A Cross-Platform GUI Toolkit in Go Inspired by Material Design

This repository profile is provided by osrepos.com, an open source repository discovery platform.

Fyne: A Cross-Platform GUI Toolkit in Go Inspired by Material Design

Summary

Fyne is an easy-to-use UI toolkit and application API written in Go, designed to build cross-platform applications. It allows developers to create desktop and mobile apps from a single codebase, drawing inspiration from Material Design principles. With Fyne, you can develop elegant and functional graphical user interfaces efficiently.

Repository Information

Analyzed by OSRepos on January 16, 2026

Topics

Click on any tag to explore related repositories

Use at your own risk

OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of code from these repositories is the user's own responsibility. Always review the repository, source code, dependencies, licenses, and security implications before running or installing anything. OSRepos is not responsible for issues, damages, or losses resulting from third-party repositories.

Introduction

Fyne is an easy-to-use UI toolkit and application API written in Go. It is designed to build applications that run on desktop and mobile devices with a single codebase, inspired by Material Design. This powerful toolkit simplifies GUI development, allowing developers to create elegant and performant applications across various platforms including Android, iOS, Windows, macOS, and Linux.

Installation

To get started with Fyne, you will need Go version 1.17 or later, a C compiler, and your system's development tools. Once these prerequisites are met, you can install Fyne's core library using the standard Go tools:

go get fyne.io/fyne/v2@latest

After importing a new module, run the following command before compiling your code for the first time:

go mod tidy

You can also run a showcase of Fyne's features by installing and running the demo application:

go install fyne.io/fyne/v2/cmd/fyne_demo@latest
fyne_demo

Examples

Fyne is designed for ease of coding. Here is a simple "Hello Fyne!" application:

package main

import (
	"fyne.io/fyne/v2/app"
	"fyne.io/fyne/v2/container"
	"fyne.io/fyne/v2/widget"
)

func main() {
	a := app.New()
	w := a.NewWindow("Hello")

	hello := widget.NewLabel("Hello Fyne!")
	w.SetContent(container.NewVBox(
		hello,
		widget.NewButton("Hi!", func() {
			hello.SetText("Welcome :)")
		}),
	))

	w.ShowAndRun()
}

You can run this application with:

go run main.go

For more examples, explore the Fyne examples repository.

Why Use Fyne?

Fyne offers several compelling reasons for developers to choose it for GUI development:

  • Cross-Platform Compatibility: Build applications for desktop (Windows, macOS, Linux) and mobile (Android, iOS) from a single Go codebase.
  • Material Design Inspired: Applications built with Fyne feature a modern, clean, and consistent user interface inspired by Google's Material Design.
  • Simplicity and Ease of Use: The API is designed to be straightforward, allowing developers to quickly create functional and aesthetically pleasing GUIs.
  • Go Native: Leveraging the power and performance of the Go language, Fyne applications are efficient and robust.
  • No External Dependencies: Fyne applications are self-contained and do not require pre-installed libraries on the target system, making them highly portable.

Links

Source repository

Open the original repository on GitHub.

View on GitHub
OS
OSRepos

Analysis and discovery of open source repositories. Find interesting projects and follow their updates.

Monitor your website with YourWebsiteScore

OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of third-party repository code is at your own risk. Always review source code, dependencies, licenses, and security implications before running anything.

© 2025 OSRepos. Built with Nuxt 3 and lots of ❤️