I think it's really cool that you're writing this library for Go. It will be nice to have some native GUI library.
When it's further along, you should consider giving people some way to exploit platform-specific GUI features. Something that gives people that ability to be portable if they want, but also optionally use platform-specific GUI features would be the Go-like way to do things (as opposed to the Java-like way of bringing everyone down to the lowest common denominator.)
Comments
I think it's really cool that you're writing this library for Go. It will be nice to have some native GUI library.
When it's further along, you should consider giving people some way to exploit platform-specific GUI features. Something that gives people that ability to be portable if they want, but also optionally use platform-specific GUI features would be the Go-like way to do things (as opposed to the Java-like way of bringing everyone down to the lowest common denominator.)
Multithreaded GUI toolkits do seem to be hard. My favorite essay on this is: https://weblogs.java.net/blog/2004/10/19/multithreaded-toolk...
It sounds like you may have encountered some of the same issues. The new handler design seems sensible.