

Ask HN: Looking for suggestions for a desktop rich GUI - BerislavLopac

I'm working on a kiosk-like application which will run off a desktop/workstation level PC, and am looking for suggestions of what might be the best platform for something like that. At the moment I'm considering things like Flex, WxPython and WPF, but I'd like to hear opinions of the HNizens.<p>I am personally a great supporter of the approach that you should use the technology your team is familiar with, but we're just building the team and could use some pointers about the direction where to look at. Thanks!<p><i>Clarification:</i> I'm not looking for a quick GUI prototyping tool, I'm looking for something that will run the final product. The concept if the GUI will most likely be similar to many Flash apps we can see around the Web, with many zooming in and out, animated menu items etc. And the backed should be able to connect to the network and the Internet, yes.
======
dkersten
I personally use Qt for my GUI needs and am building a large startup-related
app with it at the moment. If working in C++ is too painful/slow/effort for
you, PyQt is a powerful (and very easy) alternative, but the license may not
suit your needs (dual licence GPL/Commercial). PySide is an LGPL version thats
compatible (or almost compatible) with PyQt, developed by the Maemo team, but
I'm not sure how mature it is.

Qt has excellent support for traditional GUI widgets, graphics (you can even
embed widgets in OpenGL, allowing you to transform, zoom, rotate etc them as
OpenGL geometry), networking, concurrency, plugins and other niceties.

~~~
BerislavLopac
How does Qt perform? The licence is not an issue, since we're developing a
commercial app, but ideally it should be able to work on a HDTV-sized
touchscreen. Also, it is not required to run on a generic hardware -- we could
build it to specs.

~~~
dkersten
Qt's performance is extremely good. Obviously, if you use PyQt, you will get a
performance hit, but this can be offset by doing processor intensive work (eg
OpenGL or other drawing) work in C++ (either by writing Python libs in C++ or
by writing a Qt plugin). Qt itself performs very well and theres a lot of
effort being put into making it perform better still (I believe the 4.7
release is focusing on performance) and theres also beenn some mention on
building an officially supported game framework around Qt.

I myself am using Qt for a drawing and processing intensive app - the main GUI
code (and therefore the drawing) is done in C++, but all of the logic is being
done in Clojure, running on an embedded JVM. I will rewrite logic in C++ if
needed, but only where profiling suggests that Clojure (or communicating
between Clojure and C++/Qt) is the bottleneck.

I'm also considering writing a small online game using OpenGL, Qt and QtWebkit
for Graphics, GUI and web integration.

------
davidw
It depends on what you're doing and what kind of application you need to
build. Will it be hooked up to the internet? Do you expect to try and update
it often?

Tcl and Tk are definitely "not what the cool kids are using", but are still
fine tools for whipping up a quick GUI, and, despite that everyone "knows"
they "look awful", have been updated to look modern, especially in the hands
of someone who knows what they're doing in terms of design (which was one of
the reasons Tcl and Tk got a bad reputation - they never emphasized that in
the culture around the language).

------
duncanj
XulRunner? It's pretty standard and can be used to make something not look
like Windows.

Squeak? You'd get a lot of control and ease of use at the cost of a learning
curve, perhaps.

I also like the idea of Flash, Air, or any of those things.

------
Kliment
I'd highly recommend wxPython or pygame, depending on the nature of the user
interface. It's very pleasant for rapid prototyping/iteration.

------
wendroid
Something like Flash but not Flash ?

~~~
BerislavLopac
Yeah, pretty much. :D

