Hacker News new | ask | show | jobs
by toast0 57 days ago
> Java specifically had a bad name, and back then not even a coherent UI toolkit.

Java was ahead of its time, now nothing has a coherent UI toolkit.

1 comments

Qt looks nice as a user and gnome gtk isn’t too bad either
Wx isn’t bad either. https://wxwidgets.org/

You don’t get an app that looks the same across platforms. You do get apps that look like they belong on your platform, even though the code is cross-platform. It uses the native toolkit no matter where you run it across Windows, GTK, Qt, Motif, macOS/Carbon, macOS/Cocoa, and X11 with generic widgets.

Older platforms are also supported, like OS/2, Irix, and OSF/1.

https://wiki.wxwidgets.org/Supported_Platforms

It’s a C++ project, but it has bindings for most of the languages you’d use to build an application. Ada? Go? Delphi? Ruby? Python? Rust? Yes, and more. https://wiki.wxwidgets.org/Bindings

The problem is, most of these bindings are out-of-date. Delphi from 2012, Basic from 2002, D from 2016. wxRuby is a dead link. wxAda was already dead in 2009, as the discussion I can google suggests.

So, if you use wxWidgets, you probably have to use either C++ or Python version, others are unlikely to be supported.

wxRuby has been resurrected as wxRuby3, see https://mcorino.github.io/wxRuby3/

Among actively developed bindings, there is also wxRust at https://crates.io/crates/wxdragon

> [Wx] uses the native toolkit no matter where you run it

This is false. https://news.ycombinator.com/item?id=24250968 https://news.ycombinator.com/item?id=24259040 It was false in 2020 and it is still false today (I just checked).

I wish the Wx proponents would stop saying these things. Who exactly are you trying to fool? Do you have no concept of reputational damage? What good comes from a claim that is so easily disproven by just installing a Wx application and looking?

Do you understand the difference between a toolkit API and a graphical widget?

I’m not trying to fool anyone. I'm not affiliated with the project. I’m just aware of it and have used it a few times. You, on the other hand, have called me a liar and a fraud because I repeated exactly what the project docs state and which your two links do nothing to contradict. In fact, you linked to yourself being corrected by the actual maintainer of the project. Did you read anything he wrote?

> Do you understand the difference between a toolkit API and a graphical widget?

I think I do. I have taken a few minutes on the Web to compare that what I had in mind is correct. What was the point of asking this question? Was it to trap me in a gotcha, or paint me as clueless, or what?

> have called me a liar and a fraud because I repeated exactly what the project docs state

Good, you realise you are taking on the claims made by Wx on paper. However, there's more to the world. To get the full picture, you have to also engage with what I have listed. The docs say one thing, the reality shown in the screenshots say another. There is a contradiction. It remains unresolved, not for lack of trying on my part.

> your two links do nothing to contradict

You are not further allowed by me to invalidate what I was writing about by simply disregarding the evidence. Engage with the points I was making. The differences in look and feel between Wx and native are plain for everyone to see and verify. So, what now? Who is right?

> Did you read anything he wrote?

Yes. Examine this:

his claim> OTOH all the standard UI elements (buttons, checkboxes, text controls, date pickers, ...) are native

my counter-evidence> Well, let's verify that… https://i.imgur.com/uHfjoUs.png No, they're not.

his deflection> Sorry, I don't know what is this supposed to prove

So instead of admitting that there is a contradiction, he just pretends to not understand it.

Also examine this:

> look good

> look good

> looks fine

> look good

I never mentioned anything about looking good, this is a distraction designed to deflect from the central point I was making. As I wrote before, the central point made by me remains completely unaddressed.

Alas, I cannot deal with those crazy-making techniques, his behaviour measured by outcome is indistinguishable from the mentally ill. With the help and advice from a friend, I came to the conclusion that it was not safe for me to respond, so I then decided not to.

I don’t really care what you “allow” me to do, and I don’t owe you my time for a deep rebuttal of your claims.

I accept that you’ve had a bad experience with the project and that you are speaking in good faith about that experience. I do not accept that I’m a liar or a shill because my experience does not match yours, and you will not convince me to accept that.

Whatever has gone on in other places between you and some third party has nothing to do with me. I didn’t see any credible threat to your safety in the links you shared, but I’m willing to guess that’s not the complete story between the two of you. I really can’t and won’t be dragged into the middle of that, because I don’t know either of you.