[prog] Choice of cross-platform language and GUI toolkit / IDE

Rasjid Wilcox rasjidw at openminddev.net
Sat Feb 1 01:34:19 EST 2003


On Fri, 31 Jan 2003 5:46 pm, Jimen Ching wrote:
> On Fri, 31 Jan 2003, Rasjid Wilcox wrote:
> >I'm wanting to start creating some cross-platform programs, mostly
> >database systems with GUI (non-HTML) frontends.
>
> A quick google search resulted in this link:
>
> http://www.geocities.com/SiliconValley/Vista/7184/guitool.html
>
> It looks like a very complete list of GUI toolkits.

This is the same page as http://www.atai.org/guitool/ in my original post.  
However, I found that link towards the end of composing my email.  I provide 
a summary of those toolkits that are a) cross-platform, supporting Linux and 
Windows and perferably Mac, b) free on Linux and c) are active projects (ie, 
something has happened within the last 12 months and have an active developer 
base and user community).  Excluded cross-platform toolkits are given at the 
end of this email.

Below are the C++ toolkits that meet the above criteria.

CLX with IDE Dephi / Kylix:
Free on Linux (GPL code only) and low cost for Windows - US$99 for Delphi or 
US $69 for C++ builder provided that it is for non-commercial applications.  
No Mac support.

FLTK with GUI builder 'Fluid'
Very light toolkit for C++.  The toolkit that the MySQLGUI is built in, so I 
don't think it is for me.  It does have very comphensive cross-platform 
support though, and it is fully open source and free.  If you only want 
something light, it might be just the ticket.

FOX 
Supports C++, Python, Ruby and Eiffel.  Does not support Mac.  I can't seem to 
find a mature GUI builder for it though.  Just a couple with what look like 
stalled developement to me.  Unlike wxWindows, FOX is lightweight.

GTK+
Supports C++, Python, Ruby, Perl and others I'm sure.  A number of GUI builder 
for it.  Does not support Mac (except through X11), although Akkana states 
that a new Aqua GTK port has been announced recently.

Qt
Supported by lots of languages and a number of GUI designers.  It is available 
under the GPL on Linux/X11, and is free for non-commercial use on Windows.  
However, it requires Microsoft Visual Studio version 6, and so is free as 
long as you already own that I guess.  Thanks to Andrea for pointing that 
out.  It is on their website, but I would have missed it otherwise.  Also, 
they imply that the free version will probably not be enabled to work with 
any other compilers (eg MS Visual Studio .net), so I think that Qt is 
probably a bit of a dead end for open-source applications on Windows.  Pity, 
I like Qt.

Tk
Mainly used with Tcl, Scheme, Python or Perl.  Very portable, but I've never 
liked the look of it.

wxWindows
Supports C++, Python, Ruby etc.  A number of designers around.  Suports X11 
(via GTK?), Windows and Mac.  Has a fairly extensive userbase.

XPToolkit (toolkit for Mozilla)
Very cross platform, but probably not appropriate for smaller scale 
undertakings.  A quote from http://www.xminc.com/linux/wxpython.html and a 
number of others put me off from seriously looking into this one.

                        -----------------------

As far as I can see, all the commercial C/C++ toolkits have potential 
'gotchas' for open-source projects, even if they are 'free as in beer'.  I 
suspect that even if you gave away the program for free under a GPL licence, 
if you were to charge for support, then it would be considered a commercial 
application.  (Note: I am not a lawyer, perhaps it would be okay, perhaps 
not.)

Of the open-source ones, the main ones with an active and sizable userbase 
that support all three platforms (X11, Windows and Mac) are FLTK and 
wxWindows (and possibly XPToolkit, but I have no sense what its userbase is 
beyond Mozilla).  I suspect that wxWindows has the bigest userbase.

SWT for Java might be worth a look, but it does seem that Java is just never 
going to make it big on the desktop.  I personally use one Java GUI 
application (SmartCVS), but it is the only one I use regularly.  And for 
something that is just a front end for CVS, it is very slow to start up and 
does have a noticable 'sluggish' feel to it on Windows (less so on Linux).  
One of the reasons that I have not used more Java programs is that I have 
almost frequently had troubles getting them to run on whatever version of 
Java I happen to be running at the time.

FLTK looks too lightweight for what I want.  I'm not going to persue gtk+ at 
this time, as its Mac support is still under developement.  Also, I have no 
idea how gtk+ 2.2 looks on Windows, but I wasn't particularly impressed with 
the look of gtk+ 1.3 under Windows.  I like Qt, and if I was going seriously 
commercial, I would probably look at it more deeply.

So, for me, I think wxWindows is looking pretty good.  I think I'll start with 
Python and wxPython (since I know this already), and only consider moving to 
C++ if that becomes unmanagable.

Thank you everyone for your responses, and for acting as a sounding-board.  
Any further feedback will of course be appreciated.

Cheers,

Rasjid.


* The cross-platform toolkits I've excluded include:

GLOW and GLUI are both OpenGL/GLUT based toolkits, but both seem to be 'one 
person shows'.

ParaGUI (via SDL)
Seems to be alive, but only just.

PicoGUI (SDL or native)
I think this is mainly meant for handhelds.  Windows port is currently broken 
(according to its homepage).

TWIN
Not actively maintained.

WideStudio
A full IDE, for X11 and Windows.  Might be quite good, but seems to be a 'one 
person show'.

YAFF
Another one person show, with precious little info on the website.

Yzone
No response from homepage.

Zoolib
Stable, but has not seen development in quite some time.


-- 
Rasjid Wilcox
Canberra, Australia (UTC +10 hrs)
http://www.openminddev.net




More information about the Programming mailing list