I'd like to offer a "none of the above", which is to code the underlying "engine" of your app in C++, then connect that engine up to an OS-native GUI.
Just my $0.02.
21–30 of 57 posts
I'd like to offer a "none of the above", which is to code the underlying "engine" of your app in C++, then connect that engine up to an OS-native GUI.
Just my $0.02.
Within the last few years, I've inherited a number of projects written using several of the above choices. While I don't want to appear _too_ negative, IME, apps produced using cross-platform GUI kits look bad on all operating systems. I'd like to offer a "none of the above", which is to code the underlying "engine" of your app in C++, then connect that engine up to an OS-native GUI. Just my $0.02.
Cross-platform UI toolkits are the devil for any serious app - each OS, whether Linux, OS X, or Windows, have their own UI needs and guidelines that should be respected.
It's high time that engineers started paying attention to making their software accessible and usable, instead of focusing all their attention on core "features" that nobody can figure out, or want to.
wxWidgets is "big" because it has features. Considering it meets all your other criteria (aka features), in addition to ones you'll only find out you need halfway through a project, I would look closer at it. Use wxGlade and wxPython if you want easy, C++ if you demand compiled. Use dabo ( http://www.dabodev.com ) if you are interfacing with databases.
wxWidgets is "big" because it has features. Considering it meets all your other criteria (aka features), in addition to ones you'll only find out you need halfway through a project, I would look closer at it. Use wxGlade and wxPython if you want easy, C++ if you demand compiled. Use dabo ( http://www.dabodev.com ) if you are interfacing with databases.
The really wonderful part of the experience is that even after not programming in C++ for about 10+ years I was able to get things working pretty quickly and I'm productive with it. A lot of that is due to the wxWidgets documentation and it's well developed structure.
My only real problem is when I have to switch back and forth between Erlang and C++. Those days suck :-)
http://www.geocities.com/SiliconValley/Vista/7184/guitool.ht...
Earlier quoted context omitted.
There are some amazing apps built with swing...JetBrains IDEA and jEdit being two.
Interesting to note that two "amazing" apps written with Java are to help Java programmers ...
If you want something that looks reasonably good on major platforms, go with Qt or wx.
There are a couple more options you have:
XULRunner: I like this option because of the flexibility you get in creating UIs using markup and styles. You can get XULRunner built with Python support so you don't have to resort to C++. And you get a reasonably powerful rendering engine to boot.
Adobe Air: Never used this so I can't say anything for sure but from what I've heard, its similar to XULRunner but uses WebKit and a lot of Flash. It is, however, proprietary.
And,
If you're going to do a new UI toolkit, great. Just make sure you know a) why wxWidgets didn't accomplish this for you b) How you plan on addressing those shortcomings.
I believe wxWidgets was supposed to address the issue you raised about giving the native look and feel on each platform independently. It uses GTK on Linux and Win32 on Windows. No idea about how it works on OS X but I assumed it would use Cocoa\Aqua\whatever. Is that not the case?