Wednesday, June 11, 2008

Rich Applications in 2008

For about five years, I'm trying to write a small OSS application to help me write SciFi stories. Today again, I ran into this familiar pain: There is just no good OSS framework to write applications. Here is what I tried:

PyQt 4.4. This is nice but you need to do a lot of manual plumbing to connect your Python model to the Qt UI. Why are there no support classes to display a Python list in a QListView? Or to map fields from objects in a list to a QTableView? You can't even simply connect a field of an object to a basic text widget.

There are other Python frameworks (wxWidget, for example) but they are even worse (less features, more complex to use, no data binding as well).

So let's look at Java. What do we have? Spring Rich Client is more or less dead (they say they are working on Spring Desktop but there isn't even a web site, yet). Also, this project is locked to Swing. Not a killer feature in 2008.

So let's look at Eclipse. We have SWT, Data Binding and ... well ... EMF. Some love EMF, some like it, others ... you get the idea. Also, this solution again asks for a lot of plumbing (manually connecting objects with the UI). And while I gave Eclipse 3.4 RC4 a try (to see if EMF got usable in the last three years), it crashed in USER32.dll. *sigh*

Then, there is TurboGears. Automatic data binding, automatic generation of a nice UI, cool. Web only ... *sigh* Maybe I should try it with Firefox and XUL.

Also, none of these frameworks offer a simple WYSIWYG editor which can be extended (for example with a typing help, tooltips, proportional font support).

After ten years of OSS application frameworks, you'd expect that there was at least a single choice which allows to build a toy application with ten simple objects within a few minutes.

No comments: