Archive for the ‘GUI’ Category.
Eitan Suez has just open-sourced his JMatter framework which is an implementation of the Naked Object Paradigm explained in a Book
by Pawson and Matthews.
This Programming Model seems to be very expressive. As far as I know JMatter is the first professional implementation, that provides persistency in a database as well as a rather nice UI and a useful set of base classes.
In the documentation there’s a chapter on the desktop, which describes the author’s vision of a desktop of objects. I think the consquences of applications beeing deployed as a set of classes into an objectframework are quite amazing. It reminded me of Dan Ingalls Byte article on the Design Principles Behind Smalltalk, where he argues that there shouldn’t be an operating system, which goes beyond the object runtime. He states: “An operating system is a collection of things that don’t fit into a language. There shouldn’t be one.”
Another interesting implication is the fact that JMatter provides a dramatic productivity boost which will lead to severe problems for those teams building everything from scratch. On the other hand new applications will become feasible due to falling prices.
There’s a lucid post by John Reynold’s.
I think this thing goes well beyond the scope of ruby on rails. Though it’s somewhat more complex due to the more static nature of the java language.
Lukily I found this article, which explains how to change the behaviour.
After my recent post about the advent of the sunset of java I’ve read Bruce Tate’s “Beyond Java”, which seems to fall into line with my argument.
What I did particularly like about the book was the statement that Java is a language for system programming (which cached in on a lot of shortcomings of C/C++), but not an application language.
He tries to give us an idea of the things to come. As examples he points to Ruby on Rails and Seaside. What I miss in his book is the non-web perspective, because currently we see a trend towards real multi tier apps, that have a web(service) tier and a richclient (AJAX, Flex, Laszlo whatever) tier. The real richclient is gathering steem driven by IBMs Eclipse RCP endeavour.
And what I see currently is that the Java community itself is falling apart into different camps:
* The Webapps folk (Spring and friends)
* The Swing folk
* The Eclipse folk
They all employ their own utilities and modelling/ meta-approaches.
Another thing that Bruce does not mention is the integration power of dynamic languages. Ruby has excellent support to wrap C libs (not comparable to the average JNI-nightmare) and so has Python. Both languages provide bindings to dynamically support windows OLE automation in a natural way (by calling methods).
Yesterday I learnt that Karsten’s brilliant SWT Forms is a reimplementation and SWT Binding uses the original Binding library and adds SWT/ JFace specific extensions.
Was mir heute noch kam:
Der übliche Ansatz (für Swing glänzend implementiert durch JGoodies Validation) besteht darin, dass beim Validieren für einzelne Felder eine Fehlermeldung und eine Fehlerkategorie (Fehlender Wert, ungültiger Wert) angegeben werden kann.
Zusätzlich könnte noch eine Action übergeben werden, die bei der Fehlerbehbung zur Hand geht. Ähnlich den Quickfixes in Eclipse. Existiert z.B. ein Verzeichnis nicht, so wird das Feld als ungültig markiert und ein Fehlertext angezeigt. Ein Klick auf den Fehlertext öffnet ein Popup mit der Frage “Verzeichnis anlegen?”.