Live data from Hacker News

Ask HN: An acceptable cross-platform GUI toolkit?

news.ycombinator.com

51–57 of 57 posts

Re: Ask HN: An acceptable cross-platform GUI toolkit?

#51

I have also run into this problem. I have tried at different moments in time Gtk, it's C++ bindings, wxWidgets, Java+AWT/Swing, Qt. I couldn't agree more that all of them have major drawbacks. We need a good, simple to use, well-designed, fast cross-platform C library. Do you care to start doing it? Other than doing your own, I think the most sensible choice is wxWidgets, which, from my point of view, only has one bi…

"Do you care to start doing it?"

Unfortunately, I don't think I have the chops, nor the time right now. (But, fortunately, it may not even be necessary... see below.)

"Other than doing your own, I think the most sensible choice is wxWidgets, which, from my point of view, only has one big problem: the API"

That's a biggie. :) In fact, I'd go so far to say that if the API in unpalatable, then you should keep looking. Otherwise you'll end up just procrastinating every time you've got to deal with GUI code.

Thanks to posts in this thread (thanks Baltar!) I'm taking a much closer look at the most recent release of Tk (8.5). Given recent developments, it doesn't seem to be as "vestigial" as I'd thought. And the fact that it's implemented in Tcl instead of C may actually be a hidden benefit. And really, app developers never even need to be aware of the Tcl'ing going on under the covers. :)

Re: Ask HN: An acceptable cross-platform GUI toolkit?

#52
post #47
post #36

Earlier quoted context omitted.

> How I wish I could forget Swing. Could you explain why? Last time I used Java ( years ago), Swing was supposedly replacing AWT. Swing seemed very large (certainly, judging by the page-count of all the Swing books on bookstore shelves), and required a lot of subclassing to use. When I tried it out, it was slow, to be sure, but it was also relatively easy to use. The layout managers worked well for my simple apps. I…

Like everything else Java, it just does everything in the most elaborate, baroque and top-heavy way it can. There are so many, so much better ways to build GUIs out there. That's what I meant in my comment about Java editors; you need an enormous amount of tool support to do anything useful in Java because of all the boilerplate you need. Tk on the other hand is an absolute pleasure to use, and I spend almost no time…

Nobody likes writing Java, but enough people respect the JVM that we have Groovy, Scala, and Clojure. Why couldn't the same thing be true of Swing-the-API vs. Swing-the-underlying-UI-toolkit?

Re: Ask HN: An acceptable cross-platform GUI toolkit?

#53
post #31

Really? No one has mentioned the most popular, polished, cross platform application that's also a complete development environment: Firefox.

The rule I try to follow is to keep things as simple as you can. So, the levels of complexity for writing an app might look like this:

Level 1: command line program. Usable for yourself and others who know their way around the shell. Great for simple tools.

Level 2: Desktop GUI. More complicated, but necessary when you have non-technical users.

Level 3: Webapp with simple browser interface. When you need a GUI and need to allow access to many users all at once (possibly access to the same instance of the app). Drawbacks are that it's slow (much slower than a regular desktop GUI app) and relatively clunky. Also, you need a webserver to run it on, and the setup time that goes along with that. Also keyboard commands probably won't work and so there will be a lot of mousing around for the user.

Level 4: Webapp with some kind of Ajaxy or Javascripty client side. So, you need this even higher level of complexity when you have non-technical users who demand a prettier interface but the app also needs to be usable by lots of people on the net at once. Drawbacks are the same as with a regular webapp but also include a much more complex design, more maintenance, and more testing with different browsers.

The rule is, you don't go up the complexity ladder if you don't have to.

Re: Ask HN: An acceptable cross-platform GUI toolkit?

#54
post #13

Earlier quoted context omitted.

How I wish I could forget Swing.

There are some amazing apps built with swing...JetBrains IDEA and jEdit being two.

My jaws dropped when I saw these: http://blog.palantirtech.com/2008/07/04/palantir-screenshots...

I never realised that so much could be done with Swing.

Post reply on HN