Naked Objects Version 1.0 Released
Rober Matthews writes "Naked Objects is an open-source Java-based framework that makes it easy to develop business systems from 'naked objects' - behaviourally complete business objects that are exposed directly to the user. By simply writing Java classes that represent the business entities, and including only business behaviour, this framework provides a unique user interface that allows the user to directly manipulate the objects, and a mechanism to automatically persist them. See nakedobjects.org for details."
Does anyone know of some real-world applications that use this framework?
The idea is really great I think, cause coding GUI in Java, and in any other language, is really time consuming ! With this little help, which still stays very flexible, great work can be done in less time !
n-e
Heavily OO (lots of drag and drop with mouse movements which is slow IMHO) at the expense of the end user, which they say they avoid somehow:
I disagree with their assertion that OO UIs are a better match. Programmatically maybe, but I don't think it lends itself well to efficient user interaction. I encourage people to download the demo and run through the user stories. I think you'll quickly understand what I mean about its inefficiencies.I'm still investigating the Millstone user interface library for development of networked Java applications that was posted in a eariler article. This seems like the type of framework I've been looking for: the ability to swap in-and-out different presentation layers without affecting the business logic (classic MVC pattern).
Java is one of the many "crippled" OO languages in which methods specialise only on their first argument (the bit before the dot). This results in a sort of "shoehorning" of natural language noun/verb stuff into an artifical object/method structure.
This manifests itself in the Java Naked Objects by the presence of classes encoding abstract operations analogous to abstract nouns, where the instance of the class represents a "verb", rather than just using methods to represent the verb.
I'd like to see a naked-objects like interface for a multiple dispatch OO language. Multimethods could simply be on the right-mouse-click, select two or more objects and the right-click could display applicable multimethods that are part-filled as you do stuff.
This would be closer to natural language use.
Actually this system looks something like the WorkPlaceShell of OS/2. I actually liked the system when I was using OS/2 a while back, it was quite interesting but programming for it using C (or even C++) was fairly complicated with all the resource files and other language "extensions".
Since this is written in Java it may be easier to develop than it was in OS/2.
Hopefully there won't be any copyright violations.
Archie - CIO-for-hire
I just check out the demos, which are not very convicing :(. I have to rethink migrating to Naked Objects very thoroughly.
Kind a bad surprise !
n-e
The first thing that screams out to me is:
SECURITY SECURITY SECURITY
Let's hope this has a sophisticated security API (could not tell from either web site or manual). Otherwise your security is reduced to the "security" of visibility levels of methods (i.e. none).
The second question is, can a website be autogenerated instead of a Swing GUI? Nobody wants to drop apps down to the client. Otherwise, very interesting idea.
It's 10 PM. Do you know if you're un-American?
There was a good article about Naked Objects in java pro last April. It's an interesting idea I think, maybe not for final-products but allowing end-users to see something early on so they can get a better idea as to what they really need in the end product (maybe feature x isn't really that important).
This is, like, so less interesting than I thought it would be when I saw "naked" in the subject line. Oh well, back to work...
[FUCK BETA]
Mathmorphs would work well...
But first, you could use a modified version of the common SmallTalk browser as a prototype, and work from there....
The ability to autogenerate UI 'skins' for direct manipulation of objects is not new.
Just that in this article, the objects are 'business' objects.
This is exactly what Smalltalk was supposed to be, back in the 70's.
The novelty here is the intention to show only bussiness logic and replace the interpeter with the desktop (Smalltalk was language-oriented). A great effort has to be done in hiding the GUI-management code.
Hope that they succeed with this project. I've been pondering for some time now that the whole idea of applications is almost always wrong, and something like this is the correct way to go. At least the concept is far better than the applications+scripting language that Gnome is pursuing.
Singularity: a belief in the "God" idea with the "demiurge" relation inverted.
Yep, I can see the slashdot headline now: "Pimp OS uses Naked Objects foundation"...
Hmmm, I'm looking at the screenshot which is posted on the article, and I'm a little amused...
Customer?
Communication?
ChildBenefitScheme?!?!
Case?
Payment?
Officer?
I mean, I can understand that a PimpOS or a SlutOS would want to be object oriented and all. But isn't keeping a record of all your activities going to get you into trouble in most places?
I suppose that the developers are located in Nevada or Amsterdam or someplace.
Wow. I got moderated (-1) for being overrated on this post. Sorry if I offended someone, as I didn't mean to. Ah well. Live and learn.
To quote Joel Spolsky from his book "User Interface Design for Programmers": "...if the program model corresponds to the user model, you have a successful user interface."
From what I can see, NakedObjects enourage the differences between these models to be minimized at every step in the design process.