image source: Amazon.com |
Full disclosure: Naved Mehdi, Marketing Coordinator with Packt provided me with a free eBook to read for this review.
Fyne is a Cross platform GUI in Go inspired by Material Design
I enjoyed reading this new book by Andrew Williams, CEO at Fyne Labs
Note: The eBook PDF version I reviewed is 318 pages.
The book includes the following chapters:
1. A Brief History of GUI Toolkits and Cross-Platform Development
2. The Future According to Fyne
3. Windows, Canvas, and Drawing
4. Layout and File Handling
5. Widget Library and Themes
6. Data Binding and Storage
7. Building Custom Widgets and Themes
8. Project Structure and Best Practices
9. Bundling Resources and Preparing for Release
10. Distribution – App Stores and Beyond
11. Appendix A: Developer Tool Installation
12. Appendix B: Installing Mobile Build Tools
13. Appendix C: Cross-Compiling
What especially appeals to me about this book:
- I think it is still early days for the Fyne library – and I anticipate there are lots of opportunities to contribute to the Open Source project.
- I am very interested in better options for cross-platform development – and keep an eye out for emerging tools, such as Fyne.
- In my primary role as a Consulting Architect/CTO - I have limited opportunities for day-to-day hands-on practical experience developing mobile applications – and this book does a good job of patiently walking me through all of the detailed steps.
- The usage of the Go Language was very appealing to me – and investing time in learning the Fyne framework seems to have a high likelihood of increasing my knowledge and expertise with Go.
- I very much appreciated the clear and straightforward writing style of the author.
- There is a companion Github repository for the book (see Errata below)
- I appreciated the coverage in Chapter-1 of the history of mobile development and the examination of the rationale behind the different approaches that have evolved over time.
- Continuous Integration and TDD is a central theme in the vision of the Fyne creators
- Fyne is platform-agnostic
- Fyne Vision Statement: “Fyne’s APIs aim to be the best for developing beautiful, usable, and lightweight applications for desktop and beyond.”
A few selected notes:
- “This book is written both for Go developers who are interested in building native graphical applications and for those with platform-specific GUI experience looking for a cross-platform solution.”
- “a Material Design-inspired user interface look and feel.”
- “at least version 1.12 of Go” is required
- Fyne 2.0 covered
Errata (reported to Packt):
On page X, the link to the companion github repository in the eBook I previewed is incorrect, it should be
Additional Fyne-related links:
- https://fyne.io/
- https://fyne.io/blog/
- https://github.com/fyne-io/fyne
- 2021-01-21, Changelog podcast (episode #116): Unusual uses for Go: GUIs
- "Johnny and Jon are joined by Andy Williams to talk about some of the unusual ways developers are using Go. In this particular episode they deep dive into building GUIs and discuss all of the challenges imposed by trying to build a UI that is both cross platform and functional. How do you create buttons that work on both mobile and a desktop app? Should you even be designing both apps at the same time? Tune in to find out!"
- https://www.openhub.net/p/fyne
- https://go.libhunt.com/fyne-changelog
- https://en.wikipedia.org/wiki/Fyne_(software)
- Initial release: February 5, 2018
- "licensed under the terms of the 3-clause BSD License"
- "In December 2019 Fyne became the most popular GUI toolkit for Go, by GitHub star count and in early February 2020 it was trending as #1 project in GitHub trending ranks."