Jump to content

Fyne (software)

From Wikipedia, the free encyclopedia
Original authorAndrew Williams
DevelopersAndrew Williams, Cedric Bail, Changkun Ou, Charles Daniels, Drew Weymouth, Eli Burch, Jacob Alzén, Luca Corbo, Pablo Fuentes, Simon Dassow, Steve O'Connor, Stephen Houston, Stuart Scott, Tilo Prütz
Initial releaseFebruary 5, 2018; 7 years ago (2018-02-05)
Stable release
2.7.0 / October 16, 2025; 4 days ago (2025-10-16)[1]
Written inGo
Operating systemLinux, Unix-like, macOS, Windows, IOS, Android (operating system), WebAssembly
TypeWidget toolkit
LicenseNew BSD License
Websitefyne.io

Fyne is a free and open-source cross-platform widget toolkit for creating graphical user interfaces (GUIs). It allows application software to run on multiple desktop, mobile operating systems, Web browsers (via WebAssembly) and embedded devices from a single code base.[2] Fyne is inspired by the principles of Material Design to create applications that look and behave consistently.[3] It uses OpenGL to provide cross-platform GUIs.

Fyne is licensed under the terms of the 3-clause BSD License, supporting the creation of free and proprietary applications. In December 2019 Fyne became the most popular GUI toolkit for Go, by GitHub star count[4] and in early February 2020 it was trending as #1 project in GitHub trending ranks.[5]

Development

[edit]

Fyne is currently developed by a team of volunteers and is supported by around 100 contributors.[6] The team meet at a conference held each year along with invited speakers and members of the community.[7]

The Fyne toolkit is written primarily in Go.[8] The team focuses on clean APIs and follows the principles of Clean Code to sustain maintainability of the project.[9] All Fyne projects are continuously tested to check correctness, stability as well as formatting and documentation.[10][11]

Design

[edit]

Design of the Fyne API and user interface components follows a careful process to ensure the simplicity.[12] The Fyne toolkit is built in various layers, with each in separate packages.[13]

API

[edit]

API, or Application programming interface, is an interface or protocol that allows for communication across different parts of the software. Fyne has a self-documenting API that is also extensible resulting in the ability for each developer to create custom tools unique to their project that will mesh with Fyne itself.

Vector graphics

[edit]

The use of vector graphics to paint the UI provides a method of adapting to different device and display sizes without losing image fidelity. This allows the programmer to only need to create the UI once and it will look as expected on any device.

Screenshot

[edit]

The following is an illustration of some of the widgets from the fyne demo application.

Screenshot of fyne_demo showcasing many widgets

FyneDesk

[edit]

The Fyne toolkit also powers the "FyneDesk" project - a new Unix desktop environment.[14] This desktop forms the foundation of the FyshOS operating system which delivers a complete desktop operating system using only Fyne apps for the user interface.[15]

Screenshot of FyneDesk in the FyshOS desktop

Use

[edit]

The largest project currently using the Fyne toolkit is the FyneDesk project, a complete desktop environment for Linux.[16] A popular music player, Supersonic, has been created with the Fyne toolkit. [17] There is also a graphical app editor, Apptrix, created with Fyne that makes it easier to build apps with this technology. [18]

There are many other applications being built using the toolkit; those that are open source can be found in an application listing[19] website managed by the project.

The Fyne toolkit is used in many popular publications to introduce people into building cross platform applications and personal projects. There have been 15 articles published in The Linux Magazine since November 2021.[20] Linux Format published 3 articles[21], including an interview with the founder in a "Fyne times" feature.[22]

Many businesses are using the Fyne toolkit for their internal and utility applications, including Tuffnells [23], Tailscale[24] and others.[25][26]

References

[edit]
  1. ^ "New canvas objects and rounded corners along with massive speed improvements in v2.7.0". github.com. 2025-10-16.
  2. ^ Aurélie, Vache (25 August 2021). "Learning Go by examples: part 7 - Create a cross-platform GUI/Desktop app in Go".
  3. ^ "Scaling and Geometry".
  4. ^ Fyne [@Fyne_io] (2019-12-19). "We are very excited to announce that Fyne is now the most popular* GUI toolkit for Go! Great news and a huge milestone :). Now we need to figure how to bring the joy of Fyne to the wider coding community. [*] According to GitHub stargazer count ⭐️ #golang #winning #future" (Tweet). Retrieved 2021-01-07 – via Twitter.
  5. ^ Fyne [@Fyne_io] (2020-02-11). "Oh wow, the ⁦@Fyne_io⁩ project is currently in the #1 slot on GitHub trending list!!! https://t.co/oeRtXklEK9 #congratulations #goland #gui #trending https://t.co/HMy1TpJ3u5" (Tweet). Retrieved 2021-01-07 – via Twitter.
  6. ^ "Contributors to fyne-io/fyne · GitHub". GitHub. 2025-10-20.
  7. ^ "Fyne Conf 2025". 2025-10-20.
  8. ^ "Unusual uses for Go: GUIs (Go Time #116)". 6 February 2020.
  9. ^ "fyne/CONTRIBUTING.md at master · fyne-io/fyne · GitHub". GitHub. 2020-02-25.
  10. ^ "Workflow runs - fyne-io/fyne".
  11. ^ "Coveralls.io - Test Coverage History and Statistics".
  12. ^ "The careful process behind Fyne's simplicity".
  13. ^ Archived at Ghostarchive and the Wayback Machine: "GoLab 2019 - Andrew Williams - Easily build cross platform graphical applications with Fyne". YouTube. 7 November 2019.
  14. ^ Houston, Stephen [@stephenmhouston] (2019-12-31). "I am so proud of how far we have made it with this desktop in less than a year of work. It is a really great experience and very aesthetically pleasing. Please consider using it if you are a #linux user! #fyne #golang #go #linuxdesktop #desktop https://t.co/jKqWriYrIG" (Tweet). Retrieved 2021-01-07 – via Twitter.
  15. ^ "The Linux OS with a Fyne desktop environment".
  16. ^ "A full desktop environment for Linux/Unix using Fyne: Fyne-io/Desktop". GitHub. 2020-02-24.
  17. ^ "dweymouth/supersonic: A lightweight and full-featured cross-platform desktop client for self-hosted music servers".
  18. ^ "Introducing Apptrix.ai".
  19. ^ "Fyne Apps Listing".
  20. ^ "Linux Magazine".
  21. ^ "linuxformat.com/archives".
  22. ^ "Issue 323 (January 2025) - Essential Pi Builds".
  23. ^ "Tuffnells Docs: Configuration".
  24. ^ "Hey desktop Linux users, help us test a new Tailscale app".
  25. ^ "FyneConf 2025: A mobile app for enterprise needs".
  26. ^ "How to generate passwords in Go".

Bibliography

[edit]
[edit]