Over a million developers have joined DZone.

How to Develop Naked Object Applications in NetBeans IDE

· Java Zone

Bitbucket is for the code that takes us to Mars, decodes the human genome, or drives your next car. What will your code do? Get started with Bitbucket today, it's free.

Naked Objects is an open source application development platform that encourages you to write behaviourally complete domain objects, from which an object-oriented user interface can be automatically generated using reflection. The IDE that is typically used for such applications is Eclipse, but as they can be built using Ant or Maven you have a certain amount of freedom. Here I will show how our favourite IDE can be easily used with both approaches with just a little tweaking here and there.

  • The classic Ant approach suggests that you define a Naked Object library and then create a normal project that uses it. This approach requires a little longer setup time but reduces the normal working cycle and generates a simpler set of artifacts. As a drawback, the tutorial only shows how to generate the drag'n'drop interface.

  • The Maven approach lets you start very quickly, but generates six different projects and the build cycle is somewhat slower. On the other hand, you get the web interface for free. You can also follow this advice to slighly reduce the time required to start the application.

As you are in no way bound to the above UIs, there is also a project to generate a user interface based on the NetBeans Platform.

Bitbucket is the Git solution for professional teams who code with a purpose, not just as a hobby. Get started today, it's free.

Topics:

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

SEE AN EXAMPLE
Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.
Subscribe

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}