Book Image

Building Cross-Platform GUI Applications with Fyne

By : Andrew Williams
5 (1)
Book Image

Building Cross-Platform GUI Applications with Fyne

5 (1)
By: Andrew Williams

Overview of this book

The history of graphical application development is long and complicated, with various development challenges that persist to this day. The mix of technologies involved and the need to use different programming languages led to a very steep learning curve for developers looking to build applications across multiple platforms. In Building Cross-Platform GUI Applications with Fyne, you'll understand how the Go language, when paired with a modern graphical toolkit such as Fyne, can overcome these issues and make application development much easier. To provide an easy-to-use framework for cross-platform app development, the Fyne project offers many graphical concepts and design principles that are outlined throughout this book. By working through five example projects, you'll learn how to build apps effectively, focusing on each of the main areas, including the canvas, layouts, file handling, widgets, data binding, and themes. The book will also show you how the completed applications can then be run on your desktop computer, laptop, and smartphone. After completing these projects, you will discover how to prepare applications for release and distribute them to platform marketplaces and app stores. By the end of this book, you'll be able to create cross-platform graphical applications with visually appealing user interfaces and concise code.
Table of Contents (18 chapters)
1
Section 1: Why Fyne? The Reason for Being and a Vision of the Future
4
Section 2: Components of a Fyne App
10
Section 3: Packaging and Distribution

Understanding CanvasObject and the canvas package

The CanvasObject definition is just a Go interface that describes an element that can be positioned, sized, and added to a Fyne canvas. The type does not contain any information about how to draw—this information is provided by concrete types within the canvas package. These types define well-understood graphical primitives, such as Text and Line.

Before learning how to use these elements, we shall see how they look in the Fyne demo app.

Canvas demo

Before we look at how to write code that will display shapes in our window, we should look at a demo of these features in action. Using the built-in Fyne demo application, we can see what the canvas package supports. If you have not already done so, you can install and run the demo application using the following commands:

$ go get fyne.io/fyne/v2/cmd/fyne_demo
$ ~/go/bin/fyne_demo

While running the demo, tap on the Canvas item on the left navigation panel. You should...