Recommendations for cross-platform software development?

in General Discussion edited January 2014
I'm considering developing a new shareware product and I'd like for it to be able to run on both OS X and Windows, and Linux too if that ends up not requiring too much more effort.

I've been a Java programmer for many years now, making Java in some ways a very obvious solution. But I've never been all that pleased with the look and the performance of Java Swing GUIs. Swing isn't all that bad for some uses, but it can be clumsy in many ways (like Mac open/save file dialogs), doesn't always get the look-and-feel of a particular platform quite right, misses many platform-specific features one might want to access -- in short, Java-based apps seldom manage to have the fit-and-finish of off-the-shelf, shrink-wrapped commercial software.

I could stick with Java and try out the SWT toolkit (it's better at getting native look-and-feel, and native performance) for building a GUI, but from what I've read SWT has its limitation as well, and besides, because of the nature of the product I have in mind -- something dealing with audio and music -- a lot of the open source code I'd like to incorporate into my product is written in C or C++, and I might need to do some low-level driver work too. Trying to bridge all of that into a Java app with lots of JNI work doesn't seem like the best route to take.

I could learn C# and use Mono to make my stuff work for OS X, but, although I've never worked with C# and whatever standard GUI libraries one would typically use with C#, I suspect that it will work best for Windows and be kind of iffy for Mac use.

All this said, I'm fairly certain that, after many years away from it, the best thing for me to do is get back into using C++ for this project.

From my cursory preliminary research, the best looking C++ cross-platform development library I've seen so far is Qt from Trolltech. It's also very expensive from the viewpoint of a start-up operation -- a few thousand dollars, even with a 65% discount given to small start-ups.

There's the totally free, open-source wxWidgets, but it sounds like wxWidgets' Mac support isn't the greatest, and it sounds like it's noticeably buggier than Qt. Maybe it would still be good enough for my uses, but I don't know that yet -- which is one reason I'm writing this post, hoping others have had some experience with it.

Anyone know any other C++ cross platform toolkits for general GUI application development? One article I read said:


"If your needs are a free cross-platform environment, then wxWidgets is your best and only solution. However, for under $100, you can find a cross-platform environment with a much better Macintosh user experience than wxWidgets.

I can't seem to find any of these better-than-wxWidgets, under-$100 solutions, however. Suggestions, anyone?
Sign In or Register to comment.