Spot is designed to be easy to use and provide a consistent API across different platforms (mainly Mac & Linux). It’s inspired by React, but written in Go, aiming to combine the best of both worlds: the easy tooling & performance of Go with a modern, reactive approach to UI development.
Key features:
- Cross-platform: Leveraging FLTK[1] & Cocoa[2], Spot works on Mac, Linux, and the BSDs with plans for native Windows support in the future.
- Reactive UI: Adopts a React-like model for building UIs, making it intuitive for those familiar with reactive frameworks.
- Traditional, native widget set: Utilizes native widgets where available to provide a more traditional look and feel.
Why I built it:
I was searching for a cross-platform GUI toolkit for Go that had a more traditional appearance, and none of the existing options quite met my needs. I then started playing with Gocoa and go-fltk and suddenly I worked on an experiment to see how challenging it would be to build something like React in Go, and it kinda evolved into Spot. ¯\_(ツ)_/¯
In 2024, is there a still place for classic desktop GUIs—even with a modern spin?
I’d love to hear your thoughts, feedback, and any suggestions for improvement. Also, contributions are very welcome.
Thank you for checking it out!