[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