There isn’t any platform for developing GUIs that follow any requirement of portability guarantee of existence in the next three year and minimum support to interact with the applications that provide the functionality.
Speaking of portability the king is java and the prince is Trolltech Qt. The problem with java is that is not c++. I am sorry, java is perfect, but the standard in most of the worlds is c/c++. On the other hand we have QT. All that I can say of qt is that is a hell to understand and doesn’t provide a code/compile/debug interface. All can be done but design gui in one app using qmake and make, the compiler, the editor and the console to run them all is more than the average programmer can stand.
I understand that computers are in constant change but I would like that qt3 and qt4 weren’t radically different (I suppose qt5 will be different) or that visual-c projects be compatible from year to year to some extent.
I don’t want my GUI to be the core of my application. That may work for a database front-end or for a office suit but what about program that are essentially algorithmic and only need some user intervention. I need a GUI to support my application and not in the other way. What about that UNIX philosophy of building small programs which are useful in combination but self-contained. I think that any GUI has an easy solution for supporting inter-process communication. I want my gui to listen to the events generated by another application and I want to be able to communicate big amounts of info between them.
Those are only words of frustration. As the old sailor said “we will choose the leaser evil”