In a recent trend of technologies being used as verbs (think _googling_, and err, well something else) of late I have been mostly Naked Objecting. For those who don’t know, “Naked Objects”:http://www.nakedobjects.org/ is a framework which allows the developer to quickly roll an application which provides both a UI and persistence layer simply by coding a domain model (for a better overview see ” Introduction To Naked Objects”:http://today.java.net/pub/a/today/2003/07/15/nakedaddress.html over at Java.net). Thats the good side.
That bad side is that the built in default ‘lightweight’ UI just plain sucks. It makes heavy use of drag and drop which is not in itself a bad thing, however its a jolt for those users more used to a standard UI, and no non-drag and drop alternatives are provided. It is also ugly, and not that intuitive. Luckily, Naked Objects make it fairly easy to roll your own UI for it, something I’ve been playing around with over the last few days.
Its at its early stages right now, and I’m not sure how much more I’m going to do with it – at present I’ve used the development of this new UI layer as a learning excerise to get to grips with Naked Object’s internals (which it has to be said is quite badly documented). At this stage I have a Swing-based UI using JGoodies “Form”:http://www.jgoodies.com/freeware/forms/index.html and “Looks”:http://www.jgoodies.com/freeware/looks/index.html components, in an attempt to provide a good looking auto-generated UI. I may post more on JGoodies @FormLayout@ at a later date – its fast becoming my favourite way to layout just about anything. If I continue with it, the overall aim will be to provide a very good looking, easy to use auto-generated UI, but to also allow the developer to tailor specific parts of the UI or even replace them altogether.