Live data from Hacker News

Show HN: Spot – Simple, cross-platform, reactive desktop GUI toolkit for Go

github.com

61–63 of 63 posts

Re: Show HN: Spot – Simple, cross-platform, reactive desktop GUI toolkit for Go

#61
"Cross-platform: Leveraging FLTK[1] & Cocoa[2], Spot works on Mac, Linux, and the BSDs with plans for native Windows support in the future."

I'd seriously recommend that you consider cutting this. Perhaps keep the lessons you've learned to retain future flexibility, but get good on one toolkit first. GUI toolkits, GUI bindings, GUI in general drowns you in details as it is, volunteering to drown in several different underlying toolkit's details may sound appealing because you may feel like you're growing your metaphorical market, but what you will almost certainly end up with is doing all toolkits badly instead of even one toolkit well, and that won't be good.

We've all heard about how the first 90% is 90% of the work, and then the remaining 10% is another 90% of the work. GUIs make that look like hopeless pie-in-the-sky optimism, where the first 10% is 90% of the work, and then the next 10% is ten times the work, and then the next 10% is another ten times the work. Trying to be cross-platform will strangle you.

However, based on my experience with some similar previous discussions, I don't expect you to immediately buy and agree with my arguments. What I'll really suggest then is to keep what I've said here in the back of your mind, and when you find you're staring down the three toolkits that rigidly require a three-way mutually contradictory way of handling rich text or something, then think back to this post and consider giving yourself permission to drop all but the best-supported and/or most popular underlying toolkit.

Re: Show HN: Spot – Simple, cross-platform, reactive desktop GUI toolkit for Go

#62
post #45

Just for curioristy why did you adopot a react-like model and not implement react-dom as projects like react native do?

React Native runs in JavaScript. This is in Go.

React native runs in the native ecosystem through a js-native-bridge and calls platform specifics system calls. https://reactnative.dev/architecture/xplat-implementation react is the stuff in js react-dom is the juice
Post reply on HN