Fog Creek Software
g
Discussion Board




Cross-platform desktop applications

I've done some Java and C++ development, and have been looking into developing some cross-platform desktop apps. I've known about QT (www.trolltech.com) for a while now, but have never really looked at it. At first I was thinking of using Swing, but QT seems like a pretty good way to go. Not to mention it seems to use native widgets, unlike Swing. Anyone out there using Swing or QT for commercial desktop applications? I'd like to get some feedback on this. Basically, I'd be looking at doing Windows and Mac versions.

Sean Cull
Saturday, May 22, 2004

Depending on the type of app you are doing, either wxWindows or REALbasic would be a _good_ choice.

I use both for different purposes and they are both _good_ at what they do.

FullNameRequired
Saturday, May 22, 2004

Just a quick note. If you think that since Qt has been used in KDE, it's free to use in commercial applications then take a look at this web page from TrollTech's website.

http://www.trolltech.com/products/qt/pricing.html

Other than that I've no idea about Qt. :)

Green Pajamas
Saturday, May 22, 2004

If you wanted to stick with java you might consider the SWT from eclipse:

http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/platform-swt-home/main.html

I don't know how it compares to other toolkits but eclipse is fairly impressive.

Doug
Saturday, May 22, 2004

While we are on the topic of SWT, what's the state of the GCJ (the ahead of time java compiler from GNU).

Li-fan Chen
Saturday, May 22, 2004

I think there might be something to say for an cross-platform AOT compiler for Mono or Java that backs to FastCGI, but then that's kinda raw and so 90s. However it wins big on the compatibility area because you code everything, you dont' have to worry about some enterprise library company pulling the rug from underneath you, but then your code would be so raw and custom and crash so often no one would do business with you :D

Li-fan Chen
Sunday, May 23, 2004

Some people here will say *cough* philo *cough* your best bet is to do what Microsoft does, write it using Visual C++ 6.0 or Visual Studio.net and ask all the mac and linux users to get VMWare. The cost of ownership for the client is just a few hundred dollars US. Some of your customers will not accept this answer so you'll just have to cry yourself to bed.

Li-fan Chen
Sunday, May 23, 2004

What about TK? I think that's pretty portable and freely available

Nic C-L
Sunday, May 23, 2004

Swing is S L O W. No matter what "they" say, Swing is slow as molasses.

So, if you want to do X-Platform development, go with C++ and wxWindows.

alleB
Sunday, May 23, 2004

Have a look at http://www.joelonsoftware.com/articles/fog0000000051.html if you haven't already.

John Rusk
Sunday, May 23, 2004

Depends a lot on what you need to get done - e.g., if you want to implement some sort of spreadsheet, you should choose a toolkit that makes that easy for you.

If you only have 'generic' requirements, FLTK will be a good match - it's fast, small and portable. Qt is expensive, but covers almost everything you might need, including network and database connectivity.

Ori Berger
Monday, May 24, 2004

Check out Tcl/Tk at http://www.tcl.tk/software/tcltk/ it's cross platform open source toolkit, and if you'd like activestate will provide enterprise-grade support.

Andy
Monday, May 24, 2004

Hi !

We use Qt here and for nothing in the world I would like to use anything else. Qt is fully object-oriented, comes with many useful classes (other than just the GUI) the documentation is very good and support quite efficent. The signal/slot system Qt implements is very powerful. Even if crossplatform wouldn't be a requirement, I would personnally go with Qt. One drawback though : the price. But it's worth it.

Jerome

Jerome
Tuesday, May 25, 2004

Thanks to everyone for taking the time to comment. I think I might try REALbasic. Licensing looks to be fairly inexpensive, $100 for Standard edition, then $600 for the Pro edition. I think this would work better for me as I will be replacing my PC desktop with a shiny new Mac. Unlike QT, I can compile and deploy Mac and Win versions of my software from the Mac, and not have to go over to a Win machine just to recompile my project. Not to mention I'd have to buy two licenses with QT, one for Windows, and one for Mac. That's out of my price range at this time.

Sean Cull
Tuesday, May 25, 2004

*  Recent Topics

*  Fog Creek Home