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 reference toolkit, list the available toolkits and compare them with the reference 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

FOX

LGPL* 1997-2011/09 1.6.44 C++ Win, X own 3 great look, license restrictions

FLTK

LGPL* 1998-2011/10 1.3.1 C++ Win, X, Mac own 4 was from Digital Domain. Easy to learn.

GTK+

LGPL* 1997-2011/07 3.0.12 C Win, X, Mac own 12 target for X-Windows, basis of GNOME, Windows is apart, Mac using X

Qt

GPL 1994-2011/09 4.7.4 C++ Win, X, Mac own (many) Is free for Non Commercial, a dual-licensing model, basis of KDE, Emulates the native look and feel

wxWidgets

LGPL* 1992-2011/07 2.9.2 C++ Win, X, Mac native 6 X can use Motif or GTK, has many contributors

IUP

MIT 1994-2011/04 3.5 C Win, X, Mac native 2 X can use Motif or GTK, Mac using X

Table Last Update: November 2011

More toolkits can be found here: The GUI Toolkit, Framework Page and List of widget toolkits.
Interesting articles can be found here:

Discussion

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

FLTK promises a new version with a better look and new features, but there are no concrete release dates. The FLTK documentation also does not help.

GTK+ can be used as a replacement for Motif, but not as a fully "portable" toolkit since it is was originally 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, specially in Windows. The Windows port has a look and feel very similar to the Windows native look and feel, but it is different from a native application. A MacOS X port without using X-Windows is on the way, but very slowly. Unfortunately the Windows port has been orphan for some time and there is no release of new binaries for a while.

Qt had several license limitations, but since mid 2009 a new license model take place and it became more attractive. It is a very stable and powerful toolkit.

wxWidgets is an excellent choice because of the native controls and its portability.

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

Developing IUP

IUP has a C API, only has functions for Graphical User Interface, and uses "Native Controls" in Windows, Motif and GTK+. These are the major differences between IUP and other toolkits. Because of that IUP is small, fast and very 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.

Why Not Mac? The first Mac driver was developed for MacOS 9 and had several memory limitations so it was abandoned. With Mac OS X we have the opportunity to do something better. Today IUP runs on Mac OS X using X11 with Motif or GTK. We plan for the future to build a native driver, but it is not a Tecgraf priority.

Why Still Motif? Motif is very important for non Linux systems, some Tecgraf applications run on old AIX, SGI and Sun systems, that only have Motif installed and we can not force the installation of other toolkits like GTK.

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