Comparing IUP with Other Interface Toolkits

Why to still maintain IUP if today we have so many other popular toolkits?

This is a question we always ask to ourselves before going on for another year.

To answer that question we must first define the characteristics of the "ideal" toolkit, list the available toolkits and compare them with the "ideal" and with IUP.

We would like a toolkit that has:

Toolkits

With these characteristics in mind we select some of the available toolkits:

Name

License Last Update Version Language Platforms Controls Team Comments

V

LGPL 1998-2003/03 1.9 C++ Win, X native 1

ZooLib

MIT 2000-2003/04 0.9 C++ Win, X, Mac own 4+9 Still no 1.0 version

Fresco

LGPL 1998-2004/02 Alpha C++ Win, X, Mac own 9 License restrictions, Still in Alpha, Use CORBA...

YAAF

BSD* 2002-2004/03 1.1a8 C++ Win, X, Mac own 1+9  

GraphApp

BSD* 1997-2004/05 3.52 C Win, X, Mac own 1 Small and interesting.

FOX

LGPL* 1997-2005/03 1.5.0 C++ Win, X own 3+15 great look, license totaly free?

FLTK

LGPL* 1998-2004/11 1.1.6 C++ Win, X, Mac own 3+16 was from Digital Domain. Easy to learn.

GTK+

LGPL* 1997-2005/03 2.6.4 C Win, X own 9 target for X-Windows, basis of GNOME, Windows is apart

Qt

GPL 1994-2004/08 3.3.3 C++ Win, X, Mac own (many) X is free for Non Commercial, basis of KDE, Windows is paid,
Emulates the native look and feel

wxWidgets

LGPL* 1992-2005/02 2.5.4 C++ Win, X, Mac native 6+11  

IUP

MIT* 1994-2005/03 2.3 C Win, X native 2  

Table Last Update: March 2005

More toolkits can be found here: The GUI Toolkit, Framework Page.

An interesting article can be found here: GUI Toolkits for The X Window System.

Conclusions

From the selected toolkits using the defined approach we can eliminate some toolkits:

The gray ones are not updated anymore or the development is very slow or needs a better organization.

FOX has a great look but the license can be restrictive in some cases.

FLTK promises a new version with a better look, but until then it does not have a pretty good look. The FLTK documentation also does not help.

GTK+ can be used as a replacement for Motif, but not as a "portable" toolkit since is was target for X-Windows. Nowadays GTK 2 is a great free C toolkit. But some predefined dialogs could be the native ones, like the File Selection.

Qt has several license limitations, although is a very stable and powerful toolkit. Qt can be also used as a replacement for Motif.

The "best" free solution that we choose would be wxWidgets because of the native controls and its portability. But since version 2, GTK+ is a very strong option because it is in C and had its visual improved.

It is very hard to compare IUP with wxWidgets and Qt since they are much more than an Interface Toolkit. They are complete development platform that includes several secondary libraries. In IUP we focus only in Graphical User Interface.

Developing IUP

IUP uses Native Controls in Windows and Motif.

Mac port is outdated and not maintained for long time, MacOS 9 was terrible. With Mac OS X we may have the opportunity to do something better. Today IUP can be built in Mac OS X using X11 and Motif.

Motif is still very important for non Linux systems, some of our applications run on old AIX, SGI and Sun, that only have Motif installed and we can not force the installation of other toolkits like GTK. On the other hand in Linux we should be using GTK instead of Motif.

IUP is in C, is small and powerful. We have a small but very active team and we have many Tecgraf and foreign applications that today use IUP, collaborating for its evolution. Our objective is to surpass the Tecgraf needs, keeping backward compatibility and improving the internal code.

IUP does not have a wide localization feature, it only includes support for messages in English and Portuguese. And it does not have support for Unicode characters.

.. "Make it Reusable, Make it Simple, Make it Small" ...