Slashdot Mirror


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."

4 of 28 comments (clear)

  1. Demoed it... by roblight · · Score: 4, Interesting
    ...and didn't like it.

    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:

    The idea of auto-generating the user interface from the business model definition is not new, but the resulting user interfaces have often been poor in terms of usability. Critics say that this approach is merely making life easier for the programmer at the expense of the user. We believe that the naked objects approach avoids such criticism. We do not mean that the user interface of a naked object system scores highly on every aspect of usability. However, we do argue that naked object systems are overall more usable than most traditional systems, even those where a great deal of attention has been paid to usability. This derives from the fact that object-oriented user interfaces better match the way that most people think about the tasks they are performing.
    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).

    1. Re:Demoed it... by scrytch · · Score: 3, Interesting

      Drag and drop, bad. But I don't know about the GUI being so inherently bad. I mean look at the current awful mess, where you have to write descriptors and access methods and implement interfaces all over the place, put this xml file here, package it up there, and so on. So what does one do to get away from this mess? They usually use something fairly pointy-clicky to build their EJB's instead, and/or they use an XML editor that's also fairly visual.

      I like to think I'm a quick learner, but the massive amount of crap one has to do by hand to do anything worthwhile in J2EE makes me feel just completely overwhelmed and stupid. I'd rather write code than spend all my time with the bloody scaffolding that an application server is supposed to be doing its damn self. Hot deployment and autocompilation are making servlets as easy as CGI now, but EJB and CMP have a long way to go before I want to stop throwing up my hands and write a solution from scratch in perl in less time and with about 1/100th of the code.

      --
      I've finally had it: until slashdot gets article moderation, I am not coming back.
  2. Multiple Dispatch languages and "Naked Objects" by Anonymous Coward · · Score: 1, Interesting

    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.

  3. OS/2 WorkPlaceShell by trajano · · Score: 2, Interesting

    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 :-)