3 ms·
I recently tried to use Swing (for compat. and interop. reasons). While it was obviously "quirky" (partly just from it's age - some of those "quirks" were expec
by pdkl95 8y ago
I recently tried to use Swing (for compat. and interop. reasons). While it was obviously "quirky" (partly just from it's age - some of those "quirks" were expected behavior at the time), it appeared to at least be functional. I have very simple GUI needs for this project, slapping a basic UI onto the project shouldn't be that hard, right?
Then I discovered the multiple layers of hell of Swing's various layout managers. I never thought I'd actually find something worse than packing GTK+ {h,v}boxes. I think I might end up retreating back to Tk...
- stcredzero 8y agoTcl/Tk interfaces look goofy, but they're very easy to build. You can even build them on a REPL. It's also very easy to understand what they do when you resize. That's going back quite awhile. Why is it that later layout managers just seemed to get a bit worse then stay that way?
- Gibbon1 8y ago> might end up retreating back to Tk You could cross over to the dark side and embrace the Microsoft Heresy. C#/.net Upside: Just works Downside: Other programmers will hate you.
- tombert 8y agoHow well does the .NET stuff work across platforms nowadays? Can I conceivably have a "write once, compile anywhere" mentality? Conceivably if it is any good, you could get programmers to hate you a little more or less by using F#.
- Gibbon1 8y agoThere is .net Core, but that doesn't currently have any GUI frameworks. My rough impression is cross platform you have three options, web crappy, full native, and non-native. The last you may be native on one platform and look/act weird everywhere else. That said I like stuff built on wxWidgets. There are bindings for other languages, never used them tho.
- tombert 8y agoI have a visceral (possibly undeserved) hatred of C++, so WxWidgets and Qt are out; as it stands it looks like for what I need I'm stuck with Electron for my GUI stuff, since I don't want the JVM dependency.
- Gibbon1 8y agoThere are wrappers for python, again never used either.
- pdkl95 8y agoThere is always Tk. It's a very friendly (no sudden unexpected behavior), easy to use toolkit. https://tkdocs.com/tutorial/index.html https://tkdocs.com/tutorial/index.html Tk works more or less everywhere and sometimes already installed: https://tkdocs.com/tutorial/install.html https://tkdocs.com/tutorial/install.html and you don't need to use tcl: https://tkdocs.com/resources/languages.html https://tkdocs.com/resources/languages.html If you don't like Python, Ruby, Perl, or Tcl, other bindings are available: https://wiki.tcl-lang.org/page/Languages+with+a+Tk+binding https://wiki.tcl-lang.org/page/Languages+with+a+Tk+binding https://en.wikipedia.org/wiki/Tk_%28software%29#Language_bindings https://en.wikipedia.org/wiki/Tk_%28software%29#Language_bin... While the stock look-and-feel is functional-but-bland on all platforms, modern Tk is completely customizable and can approximate native widgets: https://tkdocs.com/tutorial/windows.html#dialogs https://tkdocs.com/tutorial/windows.html#dialogs