lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]



The last time I update my interface toolkits survey I noticed that there are 3 major free toolkits among others: GTK, FLTK and WxWindows.

Almost all toolkits are in C++, but using C could be an advantage since lots of classes can be confusing. Many have Mac ports (not considering using X-Windows on MacOs X). When developing professional applications native look and feel is very important, in UNIX many commercial toolkits and several free toolkits have a Motif port as a "Native" standard for X-Windows based applications. Open Motif is an important effort to keep Motif alive.

All the 3 mentioned toolkits are active and have good references. But all of them have their weakness considering the comments above.

GTK is in C. It is primarily for X-Windows, Win32 is an external project, and no Mac port that I know. Also no native controls.

  FLTK has all the ports, but no native controls.

WxWindows is complete with native controls and much more. But they put everything together, it is a lot more than an interface toolkit. If there were several small libraries will be far the best option.

So, there is no "Best Option". Depends on the application, the development team, the development main platform, and so on.

  That´s why we decided to keep IUP alive.

IUP is in C and has a very simple API. It had a Mac port, but our Mac got old because our projects concentrate on Win32/Motif. The old MacOs also has a terrible memory management, only after MacOs X we fell motivated to start again, but no time and no Mac around... Also IUP uses native controls in Windows and Motif in UNIX.

The big problem is how we are going to maintain a very complex library with a small team that usually is involved with other projects?

The fact is that we solve the important bugs, evolve a little bit and got trapped in a source code that needs updates. Meanwhile we tried to develop a new version, but after 3 prototypes we were not satisfied and the need for compatibility for our applications that are already in IUP (about a dozen large and important apps) directed us to a new path.

We are now analyzing the old code to start an incremental update from the core. This seems to be even harder but it will help to keep the compatibility at a controlled level. One of our objectives is to allow an easy way to add new controls, including native controls. The actual API allows only the addition of owner draw controls using our drawing library CD - Canvas Draw (which also has a Lua binding).

We also have another problem, our applications use Lua 3.2. So we decided to wait for Lua 5 to make any effort in porting those applications.

  Well as I said before, there is no "Best Option".

If I don´t have IUP I really don't know what I will be using. WxWindows has to be cropped to be useful, is this crop easy to make? If I need a Mac port right now I should choose FLTK over GTK.

So for the LuaCheia project with the features pointed in other messages I would suggest FLTK. But IUP could be a good option in the future.

Maybe the "Best Option" is to develop an independent Lua GUI toolkit that could be implemented using FLTK, GTK, IUP or any other toolkit.

scuri